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
- Lexikalische Analyse (Tokenizer): Der Text wird in einzelne Tokens zerlegt — Schlüsselwörter, Zahlen, Namen, Symbole. Aus
a = 3 + 4werden die Tokensa,=,3,+,4. - Syntaxanalyse: Die Tokens werden gemäß den Grammatik-Regeln zu einem Syntaxbaum (AST, Abstract Syntax Tree) zusammengesetzt. Der Baum zeigt, wie die Bestandteile zusammenhängen.
- 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
--verboseoder-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.