WISSENSARTIKEL / AI/KI

Bottom Up Parsing

Ein Verfahren zur Syntaxanalyse in der Informatik

◎ KURZDEFINITION

Bottom Up Parsing Bottom Up Parsing ist ein Parsing-Verfahren, das die Eingabe von den Blättern (Tokens) ausgehend schrittweise zu höheren Strukturen der Grammatik zusammenführt, bis die Startregel erkannt wird.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Bottom Up Parsing arbeitet von den Eingabetokens zur Startregel der Grammatik.
  • Es ist geeignet für kontextfreie Grammatiken und wird häufig in Compilerbau eingesetzt.
  • Typische Algorithmen sind LR-, SLR- und LALR-Parser.
  • Bottom Up Parser sind oft leistungsfähiger als Top Down Parser bezüglich der Sprachakzeptanz.
  • Die Methode basiert auf dem Erkennen und Reduzieren von rechten Endungen (Handles) im Eingabestring.
  • Fehlererkennung erfolgt meist erst spät im Parsing-Prozess.
  • Die Implementierung erfordert oft komplexe Zustandsautomaten.
01

Überblick: Bottom Up Parsing

In der Informatik und insbesondere in der Compilertechnik bezeichnet Bottom Up Parsing eine Technik zur Analyse von Zeichenketten anhand einer formalen Grammatik. Im Gegensatz zum Top Down Parsing beginnt Bottom Up Parsing mit den Eingabetokens und baut schrittweise die Struktur der Sprache auf, indem es Teilergebnisse zusammenführt. Dieses Verfahren ist besonders robust und kann eine größere Klasse von Grammatiken verarbeiten.

02

Was ist Bottom Up Parsing?

Bottom Up Parsing ist ein Verfahren zur Syntaxanalyse, bei dem ein Parser die Eingabe von den einzelnen Tokens ausgehend schrittweise zu höheren syntaktischen Strukturen zusammensetzt, bis die Startregel der Grammatik erreicht wird.

03

Grundprinzipien des Bottom Up Parsing

Das Verfahren basiert auf dem Erkennen sogenannter 'Handles', also rechter Endungen von Produktionen, die im Eingabestring reduziert werden können. Der Parser arbeitet dabei von den Blattelementen (Tokens) der Eingabe schrittweise nach oben, indem er diese Handles erkennt und durch Nichtterminalsymbole ersetzt.

04

Typische Algorithmen

Bekannte Bottom Up Parsing-Algorithmen sind LR(0), SLR(1), LALR(1) und LR(1). Diese unterscheiden sich in der Komplexität der Zustandsautomaten und der Art der Lookahead-Symbole, die zur Entscheidung über Reduktionen verwendet werden.

05

Vergleich ausgewählter Bottom Up Parser

Parser-TypLookaheadKomplexitätSprachakzeptanzAnwendungsbereich
LR(0)0NiedrigBegrenztEinfache Grammatiken
SLR(1)1MittelErweitertAllgemeine Grammatiken
LALR(1)1Mittel-HochSehr gutPraktische Compiler
LR(1)1HochSehr gutTheoretisch umfassend
06

Vorteile von Bottom Up Parsing

Bottom Up Parser können eine größere Klasse von kontextfreien Grammatiken analysieren als viele Top Down Parser. Sie sind robust gegenüber Linksrekursion und können komplexe Sprachstrukturen effizient erkennen.

07

Nachteile von Bottom Up Parsing

Die Implementierung ist komplexer als bei Top Down Parsern. Zudem erfolgt die Fehlererkennung oft erst spät, was die Fehlersuche erschweren kann.

08

Anwendungsgebiete

Bottom Up Parsing wird vor allem in Compilern zur Syntaxanalyse von Programmiersprachen eingesetzt. Auch in der formalen Sprachverarbeitung und bei der Analyse komplexer Datenformate findet es Anwendung.

09

Beispiel: Reduktion im Bottom Up Parsing

✦

Angenommen, die Grammatik enthält die Produktion E → E + T und die Eingabe ist 'id + id'. Der Parser erkennt zunächst die Token 'id' und 'id' als Terminalsymbole, reduziert diese zu T und anschließend zu E, bis die gesamte Eingabe zur Startregel E reduziert ist.

10

Wichtig

✦

Bottom Up Parsing ist eine fundamentale Technik in der Compilerentwicklung und ermöglicht die Verarbeitung komplexer Sprachstrukturen effizient und systematisch.

◇

Zusatzinformationen

◇

Begriff: Bottom Up Parsing

Bereich: Informatik, Compilertechnik

Ziel: Syntaxanalyse von Eingabestrings anhand einer Grammatik

Arbeitsweise: Vom Eingabestring zur Startregel (von unten nach oben)

Typische Algorithmen: LR, SLR, LALR

Vorteile: Robustheit, größere Sprachakzeptanz

Nachteile: Komplexität der Implementierung, späte Fehlererkennung

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Bottom Up Parsing

Was unterscheidet Bottom Up Parsing von Top Down Parsing?

Bottom Up Parsing beginnt bei den Eingabetokens und arbeitet sich zur Startregel der Grammatik vor, während Top Down Parsing von der Startregel ausgeht und versucht, die Eingabe durch Ableitungen zu erzeugen.

Welche Arten von Grammatiken können mit Bottom Up Parsing analysiert werden?

Bottom Up Parsing kann eine größere Klasse kontextfreier Grammatiken verarbeiten, einschließlich solcher mit Linksrekursion, die für viele Top Down Parser problematisch sind.

Was sind typische Algorithmen für Bottom Up Parsing?

Typische Algorithmen sind LR(0), SLR(1), LALR(1) und LR(1), die sich in Komplexität und Sprachakzeptanz unterscheiden.

Warum ist Bottom Up Parsing in der Compilerentwicklung wichtig?

Weil es eine robuste und effiziente Methode zur Syntaxanalyse bietet, die komplexe Sprachstrukturen erkennen kann, was für die Übersetzung von Programmiersprachen essenziell ist.

Welche Nachteile hat Bottom Up Parsing?

Die Implementierung ist komplexer als bei Top Down Parsing, und Fehler werden oft erst spät im Parsing-Prozess erkannt, was die Fehlersuche erschwert.

Wie erkennt ein Bottom Up Parser Fehler in der Eingabe?

Fehler werden meist erkannt, wenn keine gültige Reduktion mehr möglich ist oder wenn der Parser am Ende nicht zur Startregel gelangt.

Kann Bottom Up Parsing auf alle kontextfreien Sprachen angewendet werden?

Nicht alle, aber es kann sehr viele praktische und komplexe kontextfreie Grammatiken verarbeiten, insbesondere jene, die von LR-Parsern erkannt werden.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    Compilers: Principles, Techniques, and Tools ↗
    Addison-Wesley· Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman· BuchKI-Vorschlag · ungeprüft

    Standardwerk zur Compilertechnik mit umfassender Darstellung von Parsing-Verfahren.

    https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools
  2. 02
    Parsing Techniques: A Practical Guide ↗
    Springer· Dick Grune, Ceriel J.H. Jacobs· BuchKI-Vorschlag · ungeprüft

    Detaillierte Darstellung verschiedener Parsing-Algorithmen einschließlich Bottom Up Parsing.

    https://www.springer.com/gp/book/9781441919019
  3. 03
    Bottom-Up Parsing ↗
    Wikipedia· Community· Online-LexikonKI-Vorschlag · ungeprüft

    Übersichtlicher Artikel zu Bottom Up Parsing mit Beispielen und Algorithmen.

    https://en.wikipedia.org/wiki/Bottom-up_parsing
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · LIVE

Wissensplattform in Zahlen

Aktuelle Statistik
↗–Seitenaufrufe
◷–Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Artikel-Feedback
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Besucher werden mit einer zufälligen, pseudonymen Browserkennung gezählt. Jeder Seitenaufruf wird gezählt. Unique Nutzer werden getrennt nach rollierenden letzten 24 Stunden, Kalendertag und aktuellem Monat ermittelt.