Különbség a felülről lefelé és az alulról felfelé történő elemzés között

Tartalomjegyzék:

Különbség a felülről lefelé és az alulról felfelé történő elemzés között
Különbség a felülről lefelé és az alulról felfelé történő elemzés között

Videó: Különbség a felülről lefelé és az alulról felfelé történő elemzés között

Videó: Különbség a felülről lefelé és az alulról felfelé történő elemzés között
Videó: DIY gyöngyös fülbevaló diagrammal. Gyöngyfűző mesterkurzus 2024, Július
Anonim

A legfontosabb különbség a felülről lefelé és az alulról felfelé történő elemzés között az, hogy a felülről lefelé történő elemzés a bámuló szimbólumtól a bemeneti karakterláncig, míg az alulról lefelé történő elemzés a bemeneti karakterlánctól a kezdő szimbólumig. Ezenkívül egy másik fontos különbség a felülről lefelé és az alulról felfelé történő elemzés között, hogy a felülről lefelé történő elemzés a bal oldali, az alulról lefelé történő elemzés pedig a jobb oldali származtatást használja.

A magas szintű nyelvek segítenek a számítógépes programok írásában. A programozó könnyebben megérti őket, de a számítógép nem. Ezért a magas szintű program gépi kódra konvertál. A fordító feladata, hogy az ember által olvasható forráskódot gépileg olvasható gépi kóddá alakítsa. Egy program több lépésen megy keresztül a gépi kódra való konvertáláshoz. Ezt az egész folyamatot nyelvfeldolgozó rendszernek nevezik. Az egyik az összeállítás. A szintaktikai elemző vagy az értelmező a fordítóban van, és végrehajtja az elemzési feladatot.

Mi az a felülről lefelé történő elemzés?

Minden programozási nyelv rendelkezik egy szabálykészlettel a nyelv megjelenítésére. A szintaktikai 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 ezt a karakterláncot elemző fa segítségével kell előállítania.

A felülről lefelé történő elemzésben az elemzés a kezdő szimbólumtól kezdődik, és eléri a megadott bemeneti karakterláncot. Vegye figyelembe a következő nyelvtani előállítási szabályokat. A bemeneti karakterlánc (w) cad.

S -> cAd

A -> ab /a

Az elemzési fa felülről lefelé történő elemzés végrehajtása után a következő.

Különbség a felülről lefelé és a lentről felfelé történő elemzés között
Különbség a felülről lefelé és a lentről felfelé történő elemzés között
Különbség a felülről lefelé és a lentről felfelé történő elemzés között
Különbség a felülről lefelé és a lentről felfelé történő elemzés között

01. ábra: 1. fa elemzése felülről lefelé történő elemzéssel

S c A d-t, A pedig b-t produkál. A karakterlánc cabd. Ez nem a kötelező karakterlánc. Tehát szükség van a visszalépésre, vagyis a többi alternatíva használatára.

Hasonlóan S produkál c A d. A másik lehetőség alkalmazása A esetén a. Most megadja a szükséges karakterláncot. Ezért az elemző elfogadja ezt a bemeneti karakterláncot. Az elemzési fa felülről lefelé történő elemzés végrehajtása után a következő.

Különbség a felülről lefelé és a lentről felfelé történő elemzés között_2. ábra
Különbség a felülről lefelé és a lentről felfelé történő elemzés között_2. ábra
Különbség a felülről lefelé és a lentről felfelé történő elemzés között_2. ábra
Különbség a felülről lefelé és a lentről felfelé történő elemzés között_2. ábra

02. ábra: 2. elemzőfa felülről lefelé történő elemzéssel

Ha a bemeneti karakterlánc (w) abbcde

Vegye fontolóra a következő nyelvtani előállítási szabályokat.

S -> aABe

A -> Abc/b

B -> d

Felülről lefelé történő elemzésben

S -> aABe (A -> Abc helyettesítése)

S -> aAbcBe (Az A -> b helyébe lépve)

S -> abbcBe (B ->d helyettesítve)

S -> abbcde

A behelyettesítés először a baloldali legváltozósabbal kezdődik, majd a következő jobb oldali pozícióra és így tovább. Ezért egy bal szélső levezetési módszert követ. Továbbá fontos eldönteni, hogy milyen termelési szabályt válasszunk, ha van változó.

Mi az a lentről felfelé történő elemzés?

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 előállítási szabályokat, és legyen a bemeneti karakterlánc w ɛ cad

S -> cAd

A -> ab /a

Az elemzési fa alulról felfelé történő elemzés végrehajtása után a következő.

Főbb különbség a felülről lefelé és a lentről felfelé történő elemzés között_ 03. ábra
Főbb különbség a felülről lefelé és a lentről felfelé történő elemzés között_ 03. ábra
Főbb különbség a felülről lefelé és a lentről felfelé történő elemzés között_ 03. ábra
Főbb különbség a felülről lefelé és a lentről felfelé történő elemzés között_ 03. ábra

03. ábra: Fa elemzése alulról felfelé történő elemzéssel

A megadott karakterlánc cad. Az a-t A generálja. A c, A és d összeadásával megkapjuk az S kezdőszimbólumot.

Ha a bemeneti karakterlánc(w) abbcde

Vegye fontolóra a következő nyelvtani előállítási szabályokat.

S -> aABe

A -> Abc/b

B -> d

Alulról felfelé történő elemzésben

S -> aABe (B ->d helyettesítése)

S -> aAde (A -> Abc helyettesítése)

S -> aAbcde (A -> b helyettesítése)

S -> abbcde

A helyettesítés először a jobboldali legváltozósabbal kezdődik, majd a következő bal oldali pozícióba lép, és így tovább. Ezért a bal oldali mot levezetési módszert követi.

Mi a különbség a felülről lefelé és az alulról felfelé történő elemzés között?

A felülről lefelé történő elemzés egy olyan elemzési stratégia, amely először az elemzőfa legmagasabb szintjét vizsgálja, és a formális nyelvtan szabályait alkalmazva ledolgozza az elemzési fát. Az alulról felfelé történő elemzés egy olyan elemzési stratégia, amely először az elemzőfa legalacsonyabb szintjét veszi figyelembe, és a formális nyelvtan szabályai alapján dolgozza fel az elemzési fát. Az elemzés a kezdő szimbólumtól a bemeneti karakterláncig, felülről lefelé történő elemzésben történik. Másrészt az elemzés a bemeneti karakterlánctól a kezdőszimbólumig, alulról felfelé történő értelmezésben történik.

Továbbá a felülről lefelé történő elemzés során a fő döntés az, hogy kiválasszuk, hogy milyen termelési szabályt használjunk a karakterlánc létrehozásához, míg az alulról lefelé történő elemzés során a fő döntés az, hogy mikor használjunk termelési szabályt a karakterlánc lecsökkentéséhez kapja meg a kezdő szimbólumot. Ezenkívül a felülről lefelé történő elemzés a bal oldali levezetést, az alulról lefelé történő elemzés pedig a jobb oldali származtatást használja.

Különbség a felülről lefelé és a lentről felfelé történő elemzés között táblázatos formában
Különbség a felülről lefelé és a lentről felfelé történő elemzés között táblázatos formában
Különbség a felülről lefelé és a lentről felfelé történő elemzés között táblázatos formában
Különbség a felülről lefelé és a lentről felfelé történő elemzés között táblázatos formában

Összefoglaló – Felülről le vs alulról felfelé elemzés

A felülről lefelé és az alulról felfelé történő elemzés között az a különbség, hogy a felülről lefelé történő elemzés a bámulás szimbólumtól a bemeneti karakterláncig, míg a lentről lefelé történő elemzés a bemeneti karakterlánctól a kezdő szimbólumig.

Ajánlott: