Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03299.jsonl.gz/1189

26/2/2019
ANTLR ist ein Parsergenerator, ein Werkzeug, um einen Parser zu erstellen. Ein Parser nimmt ein Stück Text und transformiert ihn in eine organisierte Struktur, wie beispielsweise einen abstrakten Syntaxbaum (Abstract Syntax Tree).
Stellen wir uns einmal die folgenden Ausdrücke vor, die Teil einer (Programmier-) Sprache sein könnten:
Wie können wir die beiden Zeilen verarbeiten? Mit einem regulären Ausdruck? Nein, den diese Ausdrücke könnten weitaus kpomplexer sein. An dieser Stelle setzen wir ein Werkzeuge wie ANTLR ein, welches uns einen grossen Teil der Arbeit abnehmen wird.
Für den Scanner (lexikalische Analyse) definieren wir in einem ersten Schritt die einzelnen Tokens, welche nach dem Einlesen des Quelltextes dem Parser übergeben werden. Dieser Teil kann durchaus mit der Definition eines regulären Ausdruckes ver-glichen werden.
Im Anschluss benötigen wir noch eine Definition unserer Sprache für den Parser, welcher die Textzeilen interpretieren und anschliessend entsprechend verarbeiten kann.
Selbstverständlich benötigen wir noch ein (kleines) Stück eigener Code, um die effektive Berechnung durchzuführen resp. um den resultierenden, abstrakten Syntaxbaum (AST) abzuarbeiten.