Zum Hauptinhalt springen

Syntaktischer Analysator

EIN Parser o Parser (stammt aus dem Englischen: parse - Überprüfung einer Zeichenfolge oder eines Textes in logischen syntaktischen Komponenten) ist ein Programm, das normalerweise Teil eines Compilers ist. Der Compiler stellt sicher, dass der Code korrekt in eine ausführbare Sprache übersetzt wird. Die Aufgabe des Parsers ist in diesem Fall die Zerlegung und Umwandlung der Eingaben in ein für die weitere Verarbeitung verwendbares Format. Eine Befehlsfolge wird in einer Programmiersprache analysiert und dann in ihre einzelnen Komponenten zerlegt.

Wie funktioniert es

Zum Überprüfen von Text verwenden Parser häufig einen separaten Lexer (Lexer genannt), der die Eingabedaten in Registerkarten (Eingabesymbole als Wörter) aufteilt. Lexer sind im Allgemeinen endliche Maschinen, die der regulären Grammatik folgen und somit eine ordnungsgemäße Aufschlüsselung versprechen. Die so erhaltenen Token dienen als Eingabezeichen für den Parser.

Der aktuelle Parser behandelt die Grammatik der Eingabedaten, führt eine syntaktische Analyse dieser durch und erstellt in der Regel eine Syntaxbaum (Analysebaum). Dies kann zur Nachbearbeitung der Daten verwendet werden, beispielsweise zur Codegenerierung durch einen Compiler oder zur Ausführung durch einen Interpreter (Übersetzer). Somit ist der Parser die Software, die die Quellcode-Anweisungen überprüft, verarbeitet und weiterleitet.

Syntactic Analyzer-de-01.png

Beispiel eines Analysebaums

Arten von Analysatoren

Es gibt einfach zwei verschiedene Analysemethoden: Top-Down-Analyse und Bottom-Up-Analyse. Diese unterscheiden sich im Allgemeinen in der Reihenfolge, in der die Elemente im Syntaxbaum erstellt werden.

  • Von oben nach unten: Bei der Top-Down-Methode arbeitet der Parser an einer Methode ZielorientiertDies bedeutet, dass vom Startsymbol der Syntax aus nach einer geeigneten syntaktischen Ableitung gesucht wird. Auf diese Weise entwickelt sich der Analysebaum von oben nach unten in Richtung einer immer detaillierteren Aufteilung.
  • Prost: Der Bottom-Up-Parser beginnt mit dem Symbol der Eingabezeichenfolge und versucht, zunehmende syntaktische Beziehungen zu ermitteln. Dies geschieht so lange, bis das Startsymbol der Grammatik erreicht ist.

Apps

Ein Parser wird häufig verwendet, um Text in eine neue Struktur zu konvertieren, z. B. einen Syntaxbaum, der die hierarchische Anordnung von Elementen ausdrückt. In den folgenden Apps ist normalerweise die Verwendung eines Analysegeräts unerlässlich:

  • Das Lesen einer Programmiersprache erfolgt durch einen Parser. Es stellt dem Compiler eine Datenstruktur zur Verfügung, mit der der Maschinencode oder Bytecode generiert werden kann.
  • Der HTML-Code ist zunächst nur eine Zeichenfolge für einen PC, die vom im Webbrowser enthaltenen Parser analysiert werden muss. Bietet eine Beschreibung der Webseite als Datenstruktur, die von einer Layout-Engine auf den Bildschirm projiziert werden kann.
  • Spezielle XML-Parser sind dafür verantwortlich, XML-Dokumente zu analysieren und die darin enthaltenen Informationen für die spätere Verwendung vorzubereiten.
  • URI-Parser zerlegen komplexe Schemata wie URLs in ihre hierarchische Struktur.
  • Suchmaschinen wie Google extrahieren (analysieren) für sie relevanten Text von heruntergeladenen Webseiten mit Crawlern. Sie werden verarbeitet und die analysierten Daten können zur Navigation verwendet werden.

Fazit

Es gibt mehr Klassifikationen von Parsertypen gleichzeitig aus der erläuterten Unterteilung in Top-Down- und Bottom-Up-Analyse. Basierend auf der analysierten Grammatik können bessere Crawls auf Webseiten mit dem entsprechenden Parser durchgeführt werden. Suchmaschinen werden immer versuchen, dieses effiziente Webanalyseverfahren voll auszunutzen, um dem Benutzer schnelle und informative Suchergebnisse zu liefern.

Web-Links