24 czerwca 2003r.
GRUPA D
Zadanie 1.
Dana jest gramatyka:
S -> SI | 50 | 10 | 1
generująca ciągi zero-jedynkowe. Dopisz reguły do obliczania atrybutu S.nast oznaczającego ciąg binarny o wartości o jeden mniejszej, np. dla 10110, będzie to 10101.
Zadanie 2.
Na stosie znajdują się trzy liczby ai, a^, 03, napisz kod dla maszyny stosowej który obliczy a = 3ai + 202 +03. Po zakończeniu programu stos powinien mieć postać: ai 02 03 o (gdzie o jest na szczycie stosu).
Zadanie 3.
Zaimplementuj operację logz{x) używając jedynie dodawania, odejmowania i porównywam
• na maszynę stosową — na stosie położona jest liczba x, program powinien zastąpić ją przez flog3(x)j, lub
• używając kodu trój adresowego.
Powodzenia!