Zum Inhalt springen

LALR-Parser

aus Wikipedia, der freien Enzyklopädie

Im Compilerbau ist der LALR-Parser (Lookahead-LR-Parser) ein modifizierter LR(1)-Parser. Dabei werden die so genannten LR(1)-Mengen, die unter der Relation <math>\approx_0</math> identisch sind, zu einer Menge zusammengefasst.

Die Relation <math>\approx_0</math> ist wie folgt definiert:

<math>a\approx_0 b \Leftrightarrow</math> die LR(0)-Anteile von a und b stimmen überein.

In einfachen Worten bedeutet das, dass im zuvor berechneten LR(1)-Automaten Zustände zusammengeführt werden, deren Kern identisch ist. Der Kern zweier Zustände ist identisch, falls die Items der beiden Zustände bis auf die Follow-Mengen (Lookaheads) identisch sind.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

  • JS/CC – Interaktive Online-Implementation eines LALR(1)-Parser-Generators zur Veranschaulichung (englisch)
  • Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.