Parser (von lateinisch pars, „Teil“) ist ein Programmteil, der strukturierte Texte analysiert und in eine verarbeitbare Form bringt. Er zerlegt Eingaben — Quellcode, JSON, HTML, Kommandozeilen-Aufrufe — in ihre Bestandteile und prüft, ob sie den Regeln der jeweiligen Sprache entsprechen.

Wie ein Parser arbeitet

  1. Lexikalische Analyse (Tokenizer): Der Text wird in einzelne Tokens zerlegt — Schlüsselwörter, Zahlen, Namen, Symbole. Aus a = 3 + 4 werden die Tokens a, =, 3, +, 4.
  2. Syntaxanalyse: Die Tokens werden gemäß den Grammatik-Regeln zu einem Syntaxbaum (AST, Abstract Syntax Tree) zusammengesetzt. Der Baum zeigt, wie die Bestandteile zusammenhängen.
  3. Semantische Prüfung: Danach folgt oft die Bedeutungsprüfung — z. B. ob Typen zusammenpassen.

Wo überall Parser stecken

  • Compiler und Interpreter: Sie parsen den Quellcode, bevor sie ihn übersetzen oder ausführen. Siehe Compiler und Interpreter.
  • Web-Browser: HTML- und CSS-Parser bauen die Seite auf.
  • Datenformate: JSON-, XML- und YAML-Parser lesen Konfigurationsdateien und API-Antworten.
  • Suchmaschinen: Sie parsen Dokumente, um sie zu indexieren.
  • Befehlszeilen-Tools: Sie parsen Argumente wie --verbose oder -n 10.

Parser vs. Regex

Reguläre Ausdrücke (siehe Regex-Befehle) eignen sich für einfache Textmuster. Für verschachtelte Strukturen wie Klammerausdrücke, HTML oder Programmiersprachen sind sie ungeeignet — hier braucht es einen echten Parser, der den Aufbau rekursiv versteht.

Praxis-Tipp

Fertige Parser-Bibliotheken statt eigener Parser bauen: JSON mit json.load() (Python) oder JSON.parse() (JavaScript), HTML mit Bibliotheken wie BeautifulSoup. Einen eigenen Parser zu schreiben macht nur Sinn für kleine, klar abgegrenzte Formate.

Verwandte Grundlagen: Compiler, Interpreter, String.