Syntaxanalyse
Syntaxanalyse, auch Parsing genannt, ist eine Phase der Compilerentwurfs. Sie prüft die syntaktische Korrektheit des von der Lexikalanalyse erzeugten Tokenstroms und konstruiert aus ihm eine Repräsentation der Programmstruktur gemäß einer formalen Grammatik. Ziel ist es, Programmquellen zu validieren und eine Struktur bereitzustellen, die weitere Phasen der Übersetzung unterstützt.
Für die Syntaxanalyse werden kontextfreie Grammatiken verwendet. Diese definieren zulässige Konstrukte der Programmiersprache und geben vor,
Es gibt top-down-Parser (z. B. rekursiv absteigend, LL(k)) und bottom-up-Parser (z. B. LR-, LALR-, SLR-Parser). Unterschied:
Das Endergebnis der Syntaxanalyse ist oft ein Parsebaum oder ein Abstrakter Syntaxbaum (AST). Der AST dient
Zur Generierung von Parsern werden Werkzeuge wie YACC/Bison, ANTLR, JavaCC oder andere eingesetzt. Die Wahl des