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)

  1. 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.
  1. 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.
  2. 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.
  3. 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.
  4. (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.
  5. 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)

  1. Ö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.
  2. 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. Antlr4 Nuget
  3. Fügen Sie Ihrem Projekt ein neues Element hinzu, indem Sie mit der rechten Maustaste darauf klicken. Und suchen Sie nach ANTLR4-Vorlagen. Antlr4-Vorlagen
  4. 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. Antlr Erweiterte Speicheroptionen

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.
    Projektmappen-Explorer 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. ANTLR erzeugte Klassen


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow