Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.4.ANALIZASKŁADNIOWA
69
zarównowdrzewierozbioru,jakiwdanychwejściowych.Kolejnysymbol
terminalnyzdanychwejściowychstajesięnowymsymbolempodglądanym
irozważamykolejnedzieckowdrzewie.Narysunku2.18(c)strzałkazostała
przeniesionadokolejnegodzieckakorzenia,strzałkazaśwdanychwejściowych
dokolejnegoterminala,którymjest
(
.Kolejnykrokprzeniesiestrzałkęwdrzewie
dodzieckazetykietąnieterminalnegosymboluoptexpr,awdanychwejścio-
wychdoterminala;.
Wnieterminalnymwęźleoznaczonymoptexprpowtarzamyproceswybierania
produkcjidlanieterminala.Produkcjez
ć
jakociałem(n
ć
-produkcje”)wymagają
specjalnegopotraktowania.Nachwilęużyjemyichjakodomyślnych,gdy
żadnainnaprodukcjaniemożezostaćużyta.Powrócimydotegozagadnienia
wpodrozdziale2.4.3.Wprzypadkunieterminalnegowęzłaoptexprisymbolu
podglądanego
;
zostanieużyta
ć
-produkcja,gdyż
;
niepasujedojedynejinnej
produkcjidlaoptexpr,zawierającejjakociałoterminalexpr.
Wogólności,wybieranieprodukcjidlanieterminalamożewymagaćtechniki
próbibłędów.Inaczejmówiąc,możemypróbowaćzastosowaćpewnąprodukcję,
poczymwycofaćsięiwypróbowaćinną,jeślipierwszaokażesięnieodpowiednia.
Produkcjajestnieodpowiednia,jeśliprzyjejużyciuniemożemydokończyć
tworzeniadrzewatak,abypasowałodociąguwejściowego.Wycofywaniesięnie
jestjednakpotrzebnewważnym,szczególnymprzypadkunazywanymanalizą
predykcyjną,którąomówimywkolejnympodrozdziale.
2.4.2.Analizapredykcyjna
Metodazejśćrekurencyjnychtozstępującametodaanalizyskładniowej,wktórej
doprzetworzeniadanychwejściowychwykorzystywanyjestzbiórprocedurreku-
rencyjnych.Każdaztychprocedurjestpowiązanazjednymznieterminalnych
symboligramatyki.Tutajrozważamyprostąformęanalizyzstępującejopartej
nazejściachrekurencyjnych,nazywanąanaliząpredykcyjną,wktórejsymbol
podglądanyjednoznaczniedeterminujeprzepływsterowaniawcieleprocedury
dlakażdegosymbolunieterminalnego.Sekwencjawywołańprocedurwtrakcie
analizowaniaciąguwejściowegojestniejawniewyznaczonaprzezdrzeworozbioru
dlategociąguimożezostaćużytadojawnegozbudowaniategodrzewa,jeśli
jesttopotrzebne.
Parserpredykcyjnypokazanynarysunku2.19składasięzprocedurdla
nieterminalnychsymbolistmtioptexprgramatykizrysunku2.16orazzdo-
datkowejprocedurydopasowującejmatch,użytejwceluuproszczeniakodudla
stmtioptexpr.Procedura
match
(
t
)porównujeswójargument
t
zsymbolem
podglądanymiprzechodzidopodglądanianastępnegowejściowegosymbolu
terminalnego,jeślistwierdzidopasowanie.Następniematchzmieniawartość
zmiennejlookahead,zmiennejglobalnej,któraprzechowujeaktualniepodglądany
symbolterminalnyzciąguwejściowego.