Zadanie 1

Zakładamy że gramatyka z wykładu została rozszerzona o dodatkowe reguły w podobnym stylu i że operatory umieszczamy w węźle drzewa rozbioru odpowiadającym regule (a nie w węźle potomnym). Narysować struktury drzewiaste dla wyrażeń języka C: 'x * y - w - z', 'x * (y - w - z)', 'x * y - (w - z)', '*x * *y - w - z', 'x ? y : z + w', 'x * (y += z - w)'.

Zadanie 2

W językach programowania występują struktury o stopniu rozgałęzienia większym niż dwa (w C instrukcje 'for' i 'while' czy wywołanie funkcji). Jak można reprezentować struktury o większym stopniu rozgałęzienia przy pomocy struktur o stopniu rozgałęzienia dwa (dlaczego stopień rozgałęzienia 1 to za mało). Zastanowić się jakie są wady a jakie zalety struktur o stopniu rozgałęzienia dwa w porównaniu do bezpośredniego użycia struktur o większym stopniu rozgałęzienia.

Zadanie 3

Wyobraźmy sobie że mamy w tablicy (buforze) tekst (linię). Interesuje nas czy linia spełnia jeden z poniższych warunków: Które z tych warunków może sprawdzić automat skończony. Kiedy i jak automat pomaga w rozwiązaniu.