Gyimóthy Tibor, Havasi Ferenc, Kiss Ákos: Fordítóprogramok

Page 54

54

4. ATTRIBÚTUMOS FORDÍTÁS

Nyilvánvalóan teljesül, hogy minden S-attr nyelvtan egyben L-attr nyelvtan is és minden L-attr nyelvtan egyben ASE nyelvtan is. Az is triviális, hogy a tartalmazás valódi, tehát van olyan attribútum nyelvtan, ami ASE de nem L-attr-os és van olyan L-attr-os nyelvtan, ami nem S-attr-os. Az ASE és az OAG nyelvosztály közötti tartalmazás kérdésének eldöntése már nem ennyire egyszer˝u. A 4.13. ábrán láthatunk egy olyan példa attribútum nyelvtant, ami OAG de nem ASE. 1: S → Y ; do Y.c := Y.b; end 2: Y0 → tY1 ; do Y0 .b = Y0 .a; Y0 .d = Y1 .d; Y1 .c = Y1 .b; Y1 .a = Y0 .c; end 3: Y0 → t; do Y0 .b = Y0 .a; Y0 .d = Y0 .c; end 4.13. ábra. Példa olyan attribútum nyelvtanra, ami OAG de nem ASE A példában csak a szintaktikus szabályokat és hozzájuk tartozó szemantikus egyenleteket adtuk meg. Mivel az attribútum nyelvtan normál formában van megadva ezért könnyen meghatározható, hogy melyik attribútum a szintetizált és örökölt. Ez alapján pedig as ASE illetve OAG teszt végrehajtható. (A tesztek végrehajtását az olvasóra bízzuk.) Úgy gondolhatnánk, hogy mivel az OAG kiértékel˝o jóval rugalmasabb fabejárási stratégiával dolgozik mint az ASE, ezért minden OAG nyelvtan egyben ASE nyelvtan is. Azonban ez nincs így, a 4.14. ábrán láthatunk egy olyan attribútum nyelvtant, ami ASE de nem OAG. Ha elvégezzük az OAG tesztet erre az attribútum nyelvtanra, akkor azt találjuk, hogy az EDP gráf cirkularitását a nemterminálisok osztályozásából keletkez˝o plusz élek okozzák. Ez elkerülhet˝o azzal, ha az osztályozás el˝ott bevezetünk olyan éleket, amelyek az ASE osztályok alapján keletkeznek. Vagyis az IDS halmazt b˝ovítjük az alábbi élekkel: IDSASE = {(Xi .a, Xi .b) | ka < kb vagy (ka = kb és Xi .a ∈ AI, Xi .b ∈ AS)} Ezt a transzformációt alkalmazva az ilyen attribútum nyelvtanok is teljesítik az OAG feltételt. c www.tankonyvtar.hu

Gyimóthy Tibor, Havasi Ferenc, Kiss Ákos


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.