Parser ›› Definition, Bedeutung & Methoden › ADVIDERA

Parser

Ein Parser bezeichnet in der Informatik ein Computerprogramm zur Übersetzung eines Inputs in ein geeignetes Format zur Weiterverarbeitung. Dabei zerlegt es zunächst die Informationen und gibt sie dann in einem geordneten System wieder aus. Bei der Übersetzung von Programmiersprachen ist der Parser wichtiger Teil des Compilers, ein Programm, welches Quelltexte für Maschinen auslesbar macht. Der Compiler ist weiterhin dazu in der Lage, Fehler im Code zu erkennen und zu korrigieren, was beim bloßen Parser nicht möglich ist. Daher wird der Compiler größtenteils dafür genutzt, den Syntax im Quellcode zu überprüfen.

Arbeitsweise

Der Parser analysiert mit Hilfe eines Lexers einen gegebenen Text bzw. Quellcode. Der lexikalische Scanner fragt nicht nur alle Daten ab, sondern zerlegt diese auch in Token. Token sind Zeichen, die der Parser versteht. Hierbei handelt es sich um Zeichenketten bzw. Eingabesymbole, denen von der formalen Grammatik ein Typ zugewiesen wird. Zum Beispiel wird die Zeichenkette 123 vom Parser als Zeichentyp Zahl erkannt. Wird kein separater Scanner genutzt, so spricht man von einem Scannerless Parser.

Als nächstes folgt die eigentliche Kernaufgabe des Parsers: Die Grammatik der Eingabe. Dafür überprüft er den Syntax der Eingabe und erstellt aus den gewonnen Daten eine Struktur, die er als Parsebaum darstellt. Bei der Weiterverarbeitung der Daten stellt diese Struktur die Basis dar.

Parsebaum

Um den Prozess des Parsers bildlich darzustellen, werden Parsebäume genutzt. Hier werden die Ableitungen des Parsers und die Grammatik visuell in einem baumförmigen Diagramm dargelegt.

Parsebaum
Praxisbeispiele

Theoretisch dient der Parser dazu, Texte in eine neue, lesbare Struktur umzuwandeln. Da dies ein breit gefächertes Konzept ist, wird der Parser daher in der Praxis an sehr vielen Stellen genutzt.

  • Crawler: Suchmaschinencrawler wie zum Beispiel der Google Bot parsen relevante Informationen auf Webseiten. Wichtige Daten werden eingescannt, zerlegt und für das Durchsuchen des Crawlers lesbar aufbereitet.
  • Programmiersprache: Um eine Programmiersprachen wie Javascript und SQL für Maschinen zu übersetzen, ist ein Parser und Compiler notwendig. Der Parser wandelt die Zeichenketten in eine verständliche Struktur um, die der Compiler dann in einen Maschinencode übersetzen kann. Dieser Maschinencode, oder auch Bytecode, sind virtuelle Befehle, die für Maschinen besser zu interpretieren sind als der Quelltext.
  • Auszeichnungssprache: Auszeichnungssprachen wie HTML und CSS sind für Browser ohne Parser und Compiler lediglich Zeichenketten ohne Bedeutung. Ähnlich wie auch bei Programmiersprachen muss der Quelltext also zuerst aufbereitet werden, damit Webbrowser ihn visuell umsetzen können.
  • URI: URI ist ein individueller Identifikator von Resourcen. Im Rahmen von Webresourcen wie Webseiten spricht man vorwiegend von URLs, einer Unterkategorie der URI. URI Parser zerlegen eine URL in Einzelbausteine und leitet aus dieser eine Struktur ab. Beispiel dafür ist eine Breadcumb Navigation. Wird diese korrekt in der URL widergespiegelt, erkennen auch Crawler eine Webseitenstruktur besser.
  • XML Dokumente: Der XML DOM definiert, wie ein XML Dokument abgerufen werden soll. Der XML DOM ist eine Art Parserbaum, welcher die Struktur des Dokuments in einer Baum-ähnlichen Gliederung wiedergibt. Ein XML Parser dient dazu, einen Text in einen solchen DOM zu konvertieren.

Parser Methoden

Es wird zwischen verschiedenen Parser Methoden unterschieden. Eine grobe Differenzierung der Verfahren sind der Top Down und der Bottom Up Parser. Innerhalb und darüber hinaus werden Parser Methoden durch ihre Vorgehensweise, Reihenfolge der zu scannenden Inhalte, Implementierungstechnik und Grammatikart charakterisiert. Dadurch bilden sich viele Unterarten innerhalb der Top Down und Bottom Up Parser Methoden.

Top Down

Bei der Top Down Parser Methode geht der Parser systematisch vor. Er fängt beim Startsymbol bzw. der höchsten Ebene des Codes an und arbeitet sich in die Tiefe. Dabei schreibt der Parser den Quelltext in eine formale Grammatik um und erstellt einen Parsebaum. Mehrdeutige Eingaben können mit Hilfe von der Top Down Methode gefunden werden, indem die Grammatikregeln erweitert werden.

Bottom Up

Im Gegensatz zum Top Down startet der Parser bei der Bottom Up Methode nicht beim Startsymbol. Er beginnt bei einem Token und erstellt daraus Zusammenhänge, die schließlich in einem Parserbaum dargestellt werden. Der Bottom Up Parser kann also an einer beliebigen Stelle im Quelltext anfangen und arbeitet sich dann bis zum Startsymbol durch.

Quellen

Ihr Weg zu mehr Besuchern und Umsatz