Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Precedencia-nyelvtanok

Hasonló előadás


Az előadások a következő témára: "Precedencia-nyelvtanok"— Előadás másolata:

1 Precedencia-nyelvtanok
innentől alulról felfelé elemzünk a feladat itt: meghatározni a levezetés utolsó lépését, azaz megtalálni a szövegnek azt a részét, amit “össze tudunk vonni” egy nyelvtani jellé az ilyen szövegrészek közül a legbaloldalibbat nyélnek hívjuk

2 Operátorprecedencia-grammatikák
op. prec. nyelvtanok tulajdonságai epszilonmentesek két nemterminális nem szerepelhet egymás mellett a jobb oldalon a szövegnek most nemcsak a végén szerepel #, hanem közrefogja relációkat vezetünk be ha A » aaBbb, akkor a = b ha A » aaBb és B » cd, akkor a < c ha A » aaBb és B » Ccd, akkor a < c ha A » aBcb és B » daC, akkor a > c ha A » aBcb és B » da, akkor a > c

3 Operátorprecedencia-grammatikák
... B a ... ... a B ... A ... b C C b ... > < ... a B b ... =

4 Operátorprecedencia-grammatikák
feladat elemzendő: i * [ i + i ] # E » T | E + T T » F | T * F F » i | [ E ] i ] [ * + = > <

5 Operátorprecedencia-grammatikák
feladat elemzendő: i * [ i + i ] # E » T | E + T T » F | T * F F » i | [ E ] # A * E # < > # A * [ D ] # < < = > # A * [ B + C ] # < < < > > # A * [ B + i ] # < < < < > > # A * [ i + i ] # < < < > < > > # i * [ i + i ] # < > < < > < > >

6 Operátorprecedencia-grammatikák
a relációk értelme: ahogy olvassuk a szöveget, a nyél magától megjelenik: <=======> fogja közre pontosabban: nem a nyél, csak az ú.n. legbal prím részmondat az, amit megtalálunk az elemzés menete 1. menet: felépítjük a szintaxisfa vázát (alulról felfelé) a megtalált szimbólumoknak átmeneti nevet adunk nem zavaró, hogy nem tudjuk, pontosan milyen nyelvtani jeleket találtunk, mert az elemzés nem függ a nemterminálisoktól 2. menet: létrehozzuk a szintaxisfát (felülről lefelé) az elemző mérete csökkenthető operátorprecedencia-függvényekkel

7 Egyszerű precedencia-grammatikák
az egyszerű precedencia-grammatikákban nem szerepelhet két olyan szabály, amelyek jobb oldala azonos a szabályok (X term. vagy nemterm., a term.) ha A » aXYb, akkor X = Y ha A » aBCb, B » gX és C » ad, akkor X > a ha A » aBab és B » gX, akkor X > a ha A » aBCb, B » gX és C » Yd, akkor X < Y ha A » aXCb és C » Yd, akkor X < Y

8 Egyszerű precedencia-grammatikák
... B C ... ... B C ... A ... X a ... ... X Y ... A > < A ... B a ... ... X B ... ... X Y ... ... X Y ... > < csak terminális term. vagy nemterm. =

9 Egyszerű precedencia-grammatikák
] [ * + = > < F T E <= feladat elemzendő: i + i * i # S » T | E + T T » F | T * F F » i | [ E ]

10 Egyszerű precedencia-grammatikák
feladat elemzendő: i + i * i # E » E2 E2 » T | E2 + T T » T2 T2 » F | T2 * F F » i | [ E ]

11 E E2 T T2 F + * [ ] i E = E2 = > T > > T2 > = > F > > > + = < < < < * = < < [ = < < < < < < ] > > > i > > >

12 Egyszerű precedencia-grammatikák
# E # # E2 + F * i # < > < = < > < > # E2 # # E2 + i * i # < > < = < > < > # E2 + T # # T + i * i # < = = > < > < > < > # E2 + T2 # # T2 + i * i # < = < > < > < > < > # E2 + T2 * F # # F + i * i # < = < = = > < > < > < > # E2 + T2 * i # # i + i * i # < = < = < > < > < > < >


Letölteni ppt "Precedencia-nyelvtanok"

Hasonló előadás


Google Hirdetések