ANTLR Tutorial
Erste Schritte mit ANTLR
Suche…
Bemerkungen
ANTLR (ANother Tool for Language Recognition) ist ein leistungsstarker Parser-Generator zum Lesen, Verarbeiten, Ausführen oder Übersetzen von strukturiertem Text oder Binärdateien. Es wird häufig verwendet, um Sprachen, Tools und Frameworks zu erstellen. ANTLR generiert aus einer Grammatik einen Parser, der Parsing-Bäume erstellen und durchlaufen kann.
- Offizielle Antlr-Website (verweist immer auf die neueste Version)
Antlr-Versionen
Antlr besteht aus zwei großen Teilen, der Grammatik (Grammatikdateien) und den generierten Codedateien, die von der auf Zielsprache basierenden Grammatik abgeleitet werden. Die antlr-Versionen haben das Format V1.V2.V3:
- V1: Änderung in V1 bedeutet, dass eine neue Syntax von Features in Grammatikdateien eingeführt wurde
- V2: Änderung in V2 bedeutet, dass neue Funktionen oder wichtige Korrekturen in die generierten Dateien eingefügt wurden (z. B. Hinzufügen neuer Funktionen).
- V3: steht für Fehlerbehebungen oder kleinere Verbesserungen
Laufzeitbibliotheken und Codegenerierungsziele
Das Antlr-Tool ist in Java geschrieben, kann jedoch Parser und Lexer in verschiedenen Sprachen generieren. Um den Parser und den Lexer auszuführen, benötigen Sie auch die Laufzeitbibliothek von antlr neben dem Parser- und Lexer-Code. Die unterstützte Zielsprache (und Laufzeitbibliotheken) sind folgende:
Java
C #
Python (2 und 3)
JavaScript
Versionen
Ausführung | Veröffentlichungsdatum |
---|---|
2,0 | 1997-05-01 |
3,0 | 2011-01-19 |
4,0 | 2013-01-21 |
4.1 | 2013-07-01 |
4.2 | 2014-02-05 |
4.2.1 | 2014-03-25 |
4.2.2 | 2014-04-07 |
4.3 | 2014-06-19 |
4.4 | 2014-07-16 |
4,5 | 2015-01-23 |
4.5.1 | 2016-07-16 |
4.5.2 | 2016-01-30 |
4.5.3 | 2016-03-31 |
4.6 | 2016-12-15 |
4.7 | 2017-03-30 |
Hallo Welt
Eine einfache Hallo-Welt-Grammatik finden Sie hier :
// define a grammar called Hello
grammar Hello;
r : 'hello' ID;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
Um dieses .g4-Beispiel zu erstellen, können Sie den folgenden Befehl über das Betriebssystem / die Befehlszeile Ihres Betriebssystems ausführen:
Java -jar antlr-4.5.3-complete.jar Hello.g4
//OR if you have setup an alias or use the recommended batch file
antlr4 Hello.g4
Das Erstellen dieses Beispiels sollte zu folgender Ausgabe im Verzeichnis "Hello.g4" führen:
- Hello.tokens
- HelloBaseListener.java
- HalloLexer.java
- HelloLexer.tokens
- HelloListener.java
- HelloParser.java
Wenn Sie diese Dateien in Ihrem eigenen Projekt verwenden, müssen Sie die ANTLR-JAR-Datei mit einschließen. Um alle diese Dateien mit Java zu kompilieren, führen Sie im selben Betriebsverzeichnis oder per Pfad den folgenden Befehl aus:
javac *.java