Lefelé irányuló elemzés

A felülről lefelé történő elemzés az egyik módszer annak meghatározására, hogy egy bemeneti karakterlánc valamelyik formális  nyelvhez tartozik-e, amelyet az LL(k) környezetfüggetlen nyelvtan ír le . Ez a nyelvtani elemző algoritmusok egy osztálya , ahol a formális nyelvtan szabályait a kezdőkaraktertől kezdve kiterjesztjük a szükséges tokensorozat eléréséig .

Módszerötlet

Minden nem terminális K szimbólumhoz egy függvény épül, amely bármely x bemeneti szóra két dolgot tesz:

Egy ilyen funkciónak meg kell felelnie a következő kritériumoknak:

Ha egy ilyen kezdet nem számítható ki (és a nemterminális K függvény helyessége bebizonyosodik), akkor a bemeneti adatok nem felelnek meg a nyelvnek, és az elemzést le kell állítani.

Az elemzés a fent leírt függvények meghívásából áll. Ha van összetett szabály az olvasási nem terminálhoz, akkor annak elemzésekor más függvények is meghívásra kerülnek a benne foglalt terminálok elemzésére. A "felső" függvénytől induló hívásfa egyenértékű az elemzőfával.

A rekurzív leszármazási módszerrel az elemző létrehozásának legegyszerűbb és „leghumánusabb” módja az egyes következtetési szabályok közvetlen programozása a nyelvtani nem terminálokhoz.

Felhasználási feltételek

Legyen N nem terminális szimbólumok  véges halmaza egy adott formális nyelvtanban; Σ  terminális szimbólumok véges halmaza, akkor a rekurzív leszármazási módszer csak akkor alkalmazható, ha a nyelvtan minden szabályának a következő alakja van:

Felülről lefelé irányuló elemzési algoritmusok

Irodalom