Az kulcs különbség felülről lefelé és alulról felfelé elemzés az, hogy a fentről lefelé Az elemzés a szétválasztott szimbólumtól a bemeneti karakterláncig elemzi, míg az alulról lefelé történő elemzés a bemenő karakterlánctól a kezdőszimbólumig elemzi.. Ezenkívül egy másik fontos különbség a fentről lefelé és az alulról felfelé történő elemzés között az, hogy a fentről lefelé történő elemzés a legtöbb bal oldali derivatációt használja, és alulról lefelé történő elemzés a legtöbb jobb származtatást használja.
A magas szintű nyelvek segítik a számítógépes programok írását. A programozó könnyebben megérti őket, a számítógép pedig nem. Ezért a magas szintű program gépi kódra konvertálódik. A fordító feladata az emberi olvasható forráskód konvertálása gépi olvasható gépi kódra. Egy program több lépésben megy át a gépi kódra konvertálásra. Ezt az egész folyamatot nyelvfeldolgozó rendszernek hívják. Az egyik az összeállítás. A szintaxis-elemző vagy az elemző a fordítóban van, és elvégzi az elemzési feladatot.
1. Áttekintés és a legfontosabb különbség
2. Mi a felülről lefelé értelmezés?
3. Mi az alulról történő elemzés
4. Összehasonlítás egymással - felülről lefelé és lefelé elemzés táblázatos formában
5. Összefoglalás
Minden programozási nyelv rendelkezik a nyelv ábrázolására vonatkozó szabálykészlettel. A szintaxis-elemző vagy az elemző veszi a bemeneti karakterláncot, és ellenőrzi, hogy az megfelel-e a nyelvtani produkcióknak. Más szavakkal: a nyelvtannak elemezõ fa segítségével kell előállítania ezt a karakterláncot.
Felülről lefelé elemzéskor az elemzés a kezdő szimbólumról történik, és eléri az adott bemeneti karakterláncot. Vegye figyelembe az alábbi nyelvtani szabályokat. A (w) bemeneti karakterlánc cad.
S -> cAd
A -> ab / a
Az elemzés a felülről lefelé történő elemzés után a következő.
01. ábra: 1. elemző fa felülről lefelé elemzéssel
S termel c A d-t és A termel b b-t. A húr káda. Ez nem a szükséges karakterlánc. Szükség van tehát visszahúzódásra, azaz a többi alternatíva használatára.
Hasonlóképpen, S termel cA d-et. Ha a másik opciót alkalmazzuk az A-ra, akkor a. Most megadja a szükséges húrot. Ezért az elemző elfogadja ezt a bemeneti karakterláncot. Az elemzés a felülről lefelé történő elemzés után a következő.
02 ábra: 2. elemzés a fa felülről lefelé történő elemzésével
Vegye figyelembe az alábbi nyelvtani szabályokat.
S -> aABe
A -> Abc / b
B -> d
Felülről lefelé elemzés,
S -> aABe (helyettesíti A -> Abc)
S -> aAbcBe (Az A helyettesítése -> b)
S -> abbcBe (B helyettesítés -> d)
S -> abbcde
A helyettesítés először a balra változóval kezdődik, majd a következő jobb helyzetbe és így tovább. Ezért a bal oldali származtatási módszert követi. Ezenkívül fontos eldönteni, hogy melyik termelési szabályt kell választani, ha van változó.
Az alulról felfelé történő elemzés más módon történik. Az elemzés a bemeneti karakterlánctól a kezdő szimbólumig történik. Vegye figyelembe a következő nyelvtani gyártási szabályokat, és hagyja, hogy a bemeneti karakterlánc legyen
S -> cAd
A -> ab / a
Az elemzés az alulról felfelé történő elemzés után a következő.
03. ábra: Elemzés fa alulról történő elemzéssel
Az adott karakterlánc cad. Az aa az A által generált. A c, A és d egyesülnek, hogy S kezdő szimbólumot kapjanak.
Vegye figyelembe az alábbi nyelvtani szabályokat.
S -> aABe
A -> Abc / b
B -> d
Alulról felfelé elemzés,
S -> aABe (B helyettesítése -> d)
S -> aAde (A helyettesítése -> Abc)
S -> aAbcde (A -> b)
S -> abbcde
A helyettesítés először a jobb oldali legváltozóbbal kezdődik, majd a következő bal oldali helyzetbe kerül és így tovább. Ezért a bal mot motiváció módszerét követi.
A felülről lefelé történő elemzés olyan elemzési stratégia, amely először az elemző fa legmagasabb szintjét vizsgálja meg, és egy formális nyelvtan szabályainak felhasználásával működik az elemző fa lefelé. Az alulról felfelé történő elemzés olyan elemzési stratégia, amely először az elemző fa legalacsonyabb szintjét vizsgálja meg, és egy formális nyelvtan szabályainak felhasználásával dolgozza fel az elemző fát. Az elemzés a kezdő szimbólumtól a bemeneti karakterlánchá történik, felülről lefelé történő elemzés. Másrészt az elemzés a bemeneti karakterlánctól a kezdő szimbólumig történik, az alulról felfelé történő elemzéskor.
Ezenkívül a felülről lefelé történő elemzés során az a fő döntés, hogy ki kell választani, hogy melyik termelési szabályt kell használni a karakterlánc felépítéséhez, míg a legfontosabb döntés az alulról lefelé történő elemzés során az, hogy ki kell választani, hogy mikor használjon termelési szabályt a karakterlánc csökkentésére a kezdő szimbólum elérése érdekében. Ráadásul a felülről lefelé történő elemzés a legtöbb bal oldali levezetést használja, és alulról lefelé a jobb oldali levezetés használja.
A felülről lefelé és az alulról felfelé történő elemzés közötti különbség az, hogy a fentről lefelé történő elemzés elvégzi az elemzést a csillagoló szimbólumtól a bemeneti karakterláncig, míg az alsó letapogatás az elemzést hajtja végre a bemeneti karakterlánctól a kezdő szimbólumig..
1. „5. fordító előadás - Bevezetés az elemzőkbe és az LL (1) elemzésbe.” Compiler Design 5. előadás - Bevezetés az elemzőkbe és az LL-be (1) elemzés, Kapu előadások: Ravindrababu Ravula, 2014. május 22. Elérhető itt