LALR-Parser
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 ≈ 0 {\displaystyle \approx _{0}} identisch sind, zu einer Menge zusammengefasst. Die Relation ≈ 0 {\displaystyle \approx _{0}} ist wie folgt definiert: a ≈ 0 b ⇔ {\displaystyle a\approx _{0}b\Leftrightarrow } 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.
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 identisch sind, zu einer Menge zusammengefasst.
Die Relation ist wie folgt definiert:
- 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 | Quelltext bearbeiten]Weblinks
[Bearbeiten | Quelltext bearbeiten]- JS/CC – Interaktive Online-Implementation eines LALR(1)-Parser-Generators zur Veranschaulichung (englisch)
- LALR Parser (with Examples). In: GeeksforGeeks. (englisch).