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-
niczegeneralnieniesąpotrzebne,atymsamymsąpominięte.Abypodkreślić
kontrast,drzeworozbioruniekiedynazywanejestkonkretnymdrzewemskła-
dniowym,gramatykazaś,naktórejtodrzewojestoparte–konkretną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
expr→term
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
są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
produkcjeA→AO|A;|7na
A
B
→
→
7B
OB|;B|ć
Następniemusimyprzekształcićprodukcje,którezawierająosadzoneakcje,anie
tylkoterminaleinieterminale.Akcjesemantyczneosadzonewprodukcjach
są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.