Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
76
ROZDZIAŁ2.PROSTYTRANSLATORSTEROWANYSKŁADNIĄ
nelementamipomocniczymi”odzwierciedlającymiinnąkwalifikacjętejsamejkon-
strukcji,naprzykładtereprezentująceskładniki,czynnikilubinnekwalifikacje
tychsamychfragmentówwyrażeń.Wdrzewieskładniowymteelementypomoc-
niczegeneralnieniepotrzebne,atymsamympominięte.Abypodkreślić
kontrast,drzeworozbioruniekiedynazywanejestkonkretnymdrzewemskła-
dniowym,gramatykazaś,naktórejtodrzewojestopartekonkretnąskładnią
języka.
Wdrzewieskładniowymwidocznymnarysunku2.22każdywęzełwewnętrzny
jestpowiązanyzoperatorembeznpomocniczych”węzłówdlatakzwanychpro-
dukcjijednostkowych(takichprodukcji,którychciałoskładasięzpojedynczego
nieterminalainiczegowięcej),jak
exprterm
lubdla
ć
-produkcji,jak
restć
.
Pożądanejest,abyschemattranslacjibazowałnagramatyce,którejdrzewo
rozbiorujesttakpodobnedodrzewaskładniowego,jaktomożliwe.Grupowanie
podwyrażeńwedługgramatykizrysunku2.21jestanalogicznedoichgrupowania
wdrzewachskładniowych.Naprzykładpodwyrażeniadlaoperatoradodawania
formułowaneprzezexpritermwcieleprodukcjiexpr+term.
2.5.2.Dostosowywanieschematutranslacji
Technikaeliminowaniarekurencjilewostronnejnaszkicowananarysunku2.20
możezostaćrównieżzastosowanadoprodukcjizawierającychakcjesemantyczne.
Technikatawymaganajpierwrozszerzenianawiększąliczbęprodukcjidla
A
.
Wnaszymprzykładzie
A
toexprimamydlaniegodwieprodukcjelewostronnie
rekurencyjneijedną,któratakaniejest.Omawianatechnikaprzekształca
produkcjeAAO|A;|7na
A
B
7B
OB|;B|ć
Następniemusimyprzekształcićprodukcje,którezawierająosadzoneakcje,anie
tylkoterminaleinieterminale.Akcjesemantyczneosadzonewprodukcjach
poprostuprzenoszonedoprzetransformowanychprodukcji,takjakbybyły
terminalami.
Przykład2.13:
Rozważmyschemattranslacjipokazanynarysunku2.21.Niech
A
O
;
7
=
=
=
=
expr
+term{print(!+!)}
-term{print(!-!)}
term
Następnietransformacjaeliminującarekurencjęlewostronnątworzyschemat
translacjipokazanynarysunku2.23.Produkcjedlaexprzrysunku2.21zostały
przekształconenajednąnowąprodukcjędlaexpr,anowynieterminalrest
odgrywarolę
B
.Produkcjedlatermzostałypowtórzonezrysunku2.21.Rysunek
2.24pokazuje,jaktłumaczonebędziewyrażenie
9-5+2
przyużyciugramatyki
zrysunku2.23.