ANTLR
Einführung in ANTLR v4
Suche…
Bemerkungen
ANTLR v4 ist ein leistungsfähiges Werkzeug zum Erstellen neuer Programmiersprachen und zum Verarbeiten / Übersetzen von strukturiertem Text oder Binärdateien. ANTLR verwendet eine von Ihnen erstellte Grammatik, um einen Parser zu erstellen, der einen Parser-Baum (oder einen abstrakten Syntax-Baum, AST) erstellen und durchlaufen kann. Der Parser besteht aus Ausgabedateien in einer von Ihnen angegebenen Zielsprache. ANTLR v4 unterstützt mehrere Ziele, darunter Java, C #, JavaScript, Python2 und Python3. An C ++ wird derzeit gearbeitet. Für das Arbeiten in GUI-IDEs gibt es Plug-Ins für Visual Studio, Intellij, NetBeans und Eclipse.
Allgemeine Informationen finden Sie auf der ANTLR-Website . Um sich mit ANTLR zu beschäftigen, lesen Sie das empfohlene Buch von Terrence Parr (dem Mann, der ANTLR erstellt hat) The Definitive ANTLR 4 Reference .
Wichtige Versionsinformationen
- 4.5: 22.01.15 - JavaScript-Ziel hinzugefügt und C # -Ziel aktualisiert. 4.5 Versionshinweise
- 4.4: 16.07.14 - Python2 und Python3 als Ziele hinzugefügt. 4.4 Versionshinweise
- 4.3: 18.06.14 - Wichtige Fehlerbehebungen; vorbereitet für das Hinzufügen neuer Ziele. 4.3 Versionshinweise
- 4.2: 02/04/14 - Verbesserte Syntax zum Auswählen / Abgleichen von Parsing-Bäumen. 4.2 Versionshinweise
- 4.1: 30.06.13 - Verbesserte Parsing-Leistung; ASTs nach PNG exportieren. 4.1 Versionshinweise
- 4.0: 21.01.13 - Erstveröffentlichung.
Installation für die Befehlszeile verwenden
ANTLR wird als Java-Jar-Datei vertrieben. Sie kann hier heruntergeladen werden . Da ANTLR als JAR-Datei kompiliert wird, muss die Java-Laufzeitumgebung ausgeführt werden, wenn Sie sie nicht haben. Sie kann hier heruntergeladen werden .
Nachdem die ANTLR-JAR-Datei heruntergeladen wurde, können Sie ANTLR auf dieselbe Weise wie jede andere JAR-Datei über die Befehlszeile ausführen:
Java -jar antlr-4.5.3-complete.jar
(Vorausgesetzt, Sie arbeiten in demselben Verzeichnis wie die Datei antlr-4.5.3-complete.jar).
Dies sollte etwas ähnliches ausgeben:
ANTLR Parser Generator Version 4.5.3
-o ___ specify output directory where all output is generated
-lib ___ specify location of grammars, tokens files
-atn generate rule augmented transition network diagrams
-encoding ___ specify grammar file encoding; e.g., euc-jp
-message-format ___ specify output style for messages in antlr, gnu, vs2005
-long-messages show exception details when available for errors and warnings
-listener generate parse tree listener (default)
-no-listener don't generate parse tree listener
-visitor generate parse tree visitor
-no-visitor don't generate parse tree visitor (default)
-package ___ specify a package/namespace for the generated code
-depend generate file dependencies
-D<option>=value set/override a grammar-level option
-Werror treat warnings as errors
-XdbgST launch StringTemplate visualizer on generated code
-XdbgSTWait wait for STViz to close before continuing
-Xforce-atn use the ATN simulator for all predictions
-Xlog dump lots of logging info to antlr-timestamp.log
Andere empfohlene Aktionen für das Setup sind:
1. Add antlr4-complete.jar to CLASSPATH, either: Permanently:
Using System Properties dialog > Environment variables > Create or append to CLASSPATH variable Temporarily, at command line: SET CLASSPATH=.;C:\Javalib\antlr4-complete.jar;%CLASSPATH%
3.Create batch commands for ANTLR Tool, TestRig in dir in PATH
antlr4.bat: java org.antlr.v4.Tool %*
grun.bat: java org.antlr.v4.gui.TestRig %*
Nach dem Setup können Sie eine Anwendung mit Ihrer .g4-Grammatikdatei erstellen:
Java -jar antlr-4.5.3-complete.jar yourGrammar.g4
Mit dem Parameter -Dlanguage können Sie auch eine Anwendung in anderen Sprachen erstellen. Um zum Beispiel C # -Dateien zu generieren, würden Sie Folgendes tun:
java -jar antlr-4.5.3-complete.jar yourGrammar.g4 -Dlanguage=CSharp
Sehen Sie hier für eine vollständige Liste von vorgefertigten Grammatik ist für Programmiersprachen.
Installation mithilfe von Build Automation-Tools
Laden Sie die neueste Version von ANTLR herunter und extrahieren Sie sie in einen Ordner.
Sie können auch Maven, Gradle oder ein anderes Build-Tool verwenden, um von der Laufzeit (den von den generierten Grammatiken verwendeten Klassen) org.antlr:antlr4-runtime
.
Um als Teil des Build-Prozesses automatisch den Parser in einem Maven-Projekt zu generieren, verwenden Sie das Maven-Plugin : org.antlr:antlr4
.
Installieren Sie in Eclipse und Build Hello World
(Getestet mit ANTLR 4.5.3, Eclipse Neon, ANTLR 4 IDE 0.3.5 und Java 1.8)
- Laden Sie den neuesten ANTLR herunter. Stellen Sie sicher, dass Sie das vollständige ANTLR-Java-Binärglas erhalten. Speichern Sie an einem geeigneten Ort, z. B. in dem Ordner, in dem andere Java-Bibliotheken gespeichert sind. Es spielt keine Rolle, wo.
Installieren Sie die ANTLR-IDE in Eclipse.
- Klicken Sie im Eclipse-Menü auf "Hilfe" und wählen Sie "Eclipse Marketplace".
- Geben Sie im Feld Suchen: antlr ein und klicken Sie auf Start.
- Klicken Sie für ANTLR 4 IDE auf Installieren.
- Klicken Sie im Fenster Confirm Selected Features auf Finish.
- Wenn ein Sicherheitswarnungsfenster angezeigt wird, klicken Sie auf OK.
- Starten Sie Eclipse neu.
Umgehen Sie den Fehler "Fehler beim Erstellen des Injektors ...".
- Beim Zugriff auf ANTLR 4-Voreinstellungen in Eclipse oder wenn die Umgebungsvariable HOME nicht festgelegt ist, tritt der folgende Fehler auf: Fehler beim Erstellen des Injektors für com.github.jknack.antlr-4ide.Antlr4 für com.github.jknack.antlr-4ide.Antlr4 .
- Stellen Sie sicher, dass die Umgebungsvariable HOME gesetzt ist. Ist dies nicht der Fall, stellen Sie es für Ihr System ein.
- Laden Sie Xtext 2.7.3 an den gleichen Ort wie antlr-nnn-complete.jar herunter.
- Klicken Sie in Eclipse auf Hilfe und wählen Sie Neue Software installieren.
- Klicken Sie auf Hinzufügen…, um zum Fenster Repository hinzufügen zu gelangen.
- Geben Sie einen Namen ein, z. B. xtext 2.7.3, klicken Sie dann auf Archivieren…, navigieren Sie zur Xtext 2.7.3-Datei und wählen Sie sie aus. Klicken Sie anschließend auf OK.
- Klicken Sie im Installationsfenster auf die Schaltfläche Alle auswählen und anschließend zweimal auf Weiter>, und akzeptieren Sie die Lizenzvereinbarung. und klicken Sie auf Fertig stellen.
- Starten Sie Eclipse neu.
Teilen Sie Eclipse / Java mit, wo sich ANTLR befindet.
- Klicken Sie in Eclipse auf Fenster und wählen Sie Einstellungen.
- Erweitern Sie im linken Bereich Java und Build-Pfad, und wählen Sie dann Classpath-Variablen aus.
- Klicken Sie im rechten Bereich auf Neu…, geben Sie einen Namen ein und klicken Sie auf Datei…, und navigieren Sie zu Ihrem Speicherort von antlr-nnn-complete.jar. Klicken Sie auf OK, um zum Fenster Classpath Variables zurückzukehren.
- Klicken Sie auf OK, um die Voreinstellungen zu beenden.
(Optional) Konfigurieren Sie das mit ANTLR IDE generierte Quellenverzeichnis.
- Klicken Sie im Eclipse-Hauptfenster auf Fenster und dann auf Einstellungen.
- Erweitern Sie im linken Bereich ANTLR 4, und wählen Sie Werkzeug aus.
- Ändern Sie bei Bedarf das Verzeichnis, falls gewünscht. Zum Beispiel ist Java meine Zielsprache, daher verwende ich ./antlr-java.
- Klicken Sie auf OK, um das Fenster "Einstellungen" zu schließen.
Erstellen Sie ein ANTLR 4-Projekt.
- Gehen Sie im Eclipse-Hauptfenster zu Datei, Neu, Projekt.
- Erweitern Sie im Fenster Neues Projekt Allgemein und wählen Sie ANTLR 4-Projekt aus.
- Klicken Sie auf Weiter, geben Sie einen Projektnamen ein und klicken Sie auf Fertig stellen.
- Das neue Standardprojekt enthält eine Hello.g4-Datei und erstellt automatisch das Standardprogramm "Hello World".
- Erweitern Sie im Paket-Explorer den neuen Projektordner, um die g4-Datei und einen Ordner namens target (oder den Namen, den Sie ihm in Schritt 5 gegeben haben) mit den Zielquelldateien anzuzeigen.
ANTLR in Visual Studio 2015 installieren (mithilfe von Nuget)
- Öffnen Sie Visual Studio 2015, navigieren Sie zu Extras → Erweiterungen → Online und suchen Sie nach Antlr. Laden Sie die Erweiterung ANTLR Language Support (Erstellt von Sam Harwell) herunter und starten Sie Visual Studio neu.
- Erstellen Sie ein neues Konsolenanwendungsprojekt. Klicken Sie mit der rechten Maustaste auf Solution → Nuget Packages für Solution verwalten → Browse (Tab), suchen Sie nach Antlr4 und installieren Sie es.
- Fügen Sie Ihrem Projekt ein neues Element hinzu, indem Sie mit der rechten Maustaste darauf klicken. Und suchen Sie nach ANTLR4-Vorlagen.
- Gehen Sie in Ihrer ANTLR-Datei (Endung .g4) auf Datei → Erweiterte Speicheroptionen und suchen Sie nach Unicode (UTF-8 ohne Signatur ) - Codepage 65001, und klicken Sie auf OK. Das ist es.
Testen Sie, ob alles funktioniert
- Erstellen Sie ein kombiniertes ANTLR 4-Element und nennen Sie es Calculator.g4
- Kopieren Sie den Quellcode des Rechners aus diesem Github-Projekt hier: Rechner von Tom Everett
- Ändern Sie den Grammatikrechner in den Grammatikrechner
- Im Projektmappen-Explorer → Klicken Sie auf Alle Dateien anzeigen.
- Speichern Sie das Projekt und starten Sie es
- Im Projektmappen-Explorer im Ordner obj sollten Sie cs-Klassen sehen, die wie Visitor und Listener generiert wurden. Wenn dies der Fall ist, haben Sie Erfolg gehabt. Jetzt können Sie mit ANTLR in Visual Studio 2015 arbeiten.