Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


Rekursiver Abstieg

Rekursiver Abstieg (englisch: recursive descent) ist eine Technik aus dem Compilerbau, die auf direkte Weise (d. h. ohne Tabelle) einen Top-Down-Parser implementiert. Sie zeichnet sich durch geringe Komplexität aus; das Verwenden eines Parsergenerators ist nicht nötig.

Bei diesem Verfahren wird jedes Nichtterminalsymbol durch jeweils eine eigene Prozedur behandelt, welche die Produktionsregeln zu diesem Symbol implementiert. Erlauben die Produktionsregeln eine Rekursion, dann rufen sich daher auch diese Prozeduren wechselseitig rekursiv auf.

Der rekursive Abstieg kann bei Bedarf mit Backtracking arbeiten; wenn eine LL(k)-Grammatik für die zu parsende Sprache verwendet wird, ist das jedoch nicht erforderlich. Unüberlegte Verwendung von Backtracking kann zudem zu exponentiellem Laufzeitverhalten führen. Im Folgenden wird daher der häufige Fall LL(1) angenommen.


Previous Page Next Page