Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
56
ROZDZIAŁ2.PROSTYTRANSLATORSTEROWANYSKŁADNIĄ
2.2.7.Ćwiczeniadopodrozdziału2.2
Ćwiczenie2.2.1:Rozważmygramatykębezkontekstową
S
SS+|SS*|a
(a)Pokaż,jakwygenerowaćciągaa+aztejgramatyki.
(b)Skonstruujdrzeworozbiorudlategociągu.
(c)Jakijęzykgenerujetagramatyka?Odpowiedźuzasadnij.
Ćwiczenie2.2.2:
Jakijęzykjestgenerowanyprzezponiższegramatyki?
Uzasadnijodpowiedźwkażdymprzypadku.
(a)S0S1|01
(b)S+SS|-SS|a
(c)SS(S)S|ć
(d)S
aSbS|bSaS|ć
(e)Sa|S+S|SS|S*|(S)
Ćwiczenie2.2.3:Którezgramatykwćwiczeniu2.2.2niejednoznaczne?
Ćwiczenie2.2.4:
Skonstruujjednoznaczną,bezkontekstowągramatykędla
każdegozponiższychjęzyków.Wkażdymprzypadkuwykaż,żeproponowana
gramatykajestpoprawna.
1.
Wyrażeniaarytmetycznewnotacjipostfiksowej(odwrotnejnotacjipol-
skiej).
2.Lewostronniełącznelistyidentyfikatorówrozdzielanychprzecinkami.
3.Prawostronniełącznelistyidentyfikatorówrozdzielanychprzecinkami.
4.
Wyrażeniaarytmetycznedlaliczbcałkowitychiidentyfikatorówzczterema
operatoramidwuargumentowymi+,-,,/.
!e)
Dołączjednoargumentowyplusiminusdooperatorówarytmetycznych
zpunktu(d).
Ćwiczenie2.2.5:
(a)
Wykaż,żewszystkieciągidwójkowegenerowaneprzez
poniższągramatykęmająwartościpodzielneprzez3.Wskazówka:użyj
indukcjipoliczbiewęzłówwdrzewierozbioru.
num11|1001|num0|numnum
(b)
Czytagramatykagenerujewszystkieciągidwójkowe,którychwartośćjest
podzielnaprzez3?
Ćwiczenie2.2.6:
Skonstruujbezkontekstowągramatykędogenerowaniarzym-
skichcyfr.