Szukaj…


Uwagi

ANTLR v4 to potężne narzędzie używane do budowania nowych języków programowania oraz przetwarzania / tłumaczenia tekstów strukturalnych lub plików binarnych. ANTLR używa utworzonej przez ciebie gramatyki do generowania analizatora składni, który może budować i przechodzić przez parsowane drzewo (lub abstrakcyjne drzewo składniowe, AST). Analizator składni składa się z plików wyjściowych w określonym języku docelowym. ANTLR v4 obsługuje kilka celów, w tym: Java, C #, JavaScript, Python2 i Python3. Trwają prace nad obsługą C ++. Do pracy w IDE GUI dostępne są wtyczki do Visual Studio, Intellij, NetBeans i Eclipse.

Aby uzyskać ogólne informacje, odwiedź witrynę ANTLR . Aby poważnie potraktować ANTLR, sprawdź wysoce zalecaną książkę napisaną przez Terrence'a Parra (faceta, który stworzył ANTLR) The Definitive ANTLR 4 Reference .


Istotne informacje o wersji

Instalowanie do użytku z wiersza poleceń

ANTLR jest rozpowszechniany jako plik Java Jar. Można go pobrać tutaj . Ponieważ ANTLR jest kompilowany jako plik jar, następnie wymaga środowiska wykonawczego Java do działania, jeśli go nie masz. Można go pobrać tutaj .

Po pobraniu pliku JAR ANTLR możesz uruchomić ANTLR z wiersza poleceń w taki sam sposób, jak każdy inny plik JAR:

Java -jar antlr-4.5.3-complete.jar

(Zakładając, że pracujesz w tym samym katalogu, co plik antlr-4.5.3-complete.jar).

To powinno wypisać coś podobnego do tego:

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

inne zalecane działania związane z konfiguracją obejmują:

     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 %*

Po instalacji możesz zbudować aplikację przy użyciu pliku gramatyki .g4:

Java -jar antlr-4.5.3-complete.jar yourGrammar.g4

Możesz również zbudować aplikację w innych językach z parametrem -Dlanguage. Na przykład, aby wygenerować pliki C #, zrobiłbyś coś takiego:

java -jar antlr-4.5.3-complete.jar yourGrammar.g4 -Dlanguage=CSharp

Zobacz tutaj pełną listę gotowych gramatyk dla popularnych języków programowania.

Instalowanie za pomocą narzędzi do budowania automatyzacji

Pobierz najnowszą wersję ANTLR i wypakuj ją do folderu.

Możesz także użyć narzędzia Maven, Gradle lub innego narzędzia do budowania, aby polegać na jego środowisku wykonawczym (klasy, z których korzystają generowane gramatyki): org.antlr:antlr4-runtime .

Aby automatycznie - jako część procesu kompilacji - wygenerować parser w projekcie maven, użyj wtyczki Maven : org.antlr:antlr4 .

Zainstaluj w Eclipse i zbuduj Hello World

(Testowane z ANTLR 4.5.3, Eclipse Neon, ANTLR 4 IDE 0.3.5 i Java 1.8)

  1. Pobierz najnowszą ANTLR . Upewnij się, że otrzymałeś pełny słoik binariów Java ANTLR. Zapisz w dowolnej odpowiedniej lokalizacji, na przykład w folderze, w którym przechowywane są inne biblioteki Java. Nie ważne gdzie, pamiętaj tylko lokalizację.
  1. Zainstaluj ANTLR IDE w Eclipse.

    • W menu Eclipse kliknij Pomoc i wybierz Eclipse Marketplace.
    • W polu Znajdź: wpisz antlr i kliknij Idź.
    • Kliknij Zainstaluj dla ANTLR 4 IDE.
    • Kliknij przycisk Zakończ w oknie Potwierdź wybrane funkcje.
    • Jeśli pojawi się okno Ostrzeżenie o zabezpieczeniach, kliknij przycisk OK.
    • Uruchom ponownie Eclipse.
  2. Obejdź problem związany z błędem „Nie udało się utworzyć wtryskiwacza…”.

    • Podczas uzyskiwania dostępu do Preferencji ANTLR 4 w środowisku Eclipse lub gdy zmienna środowiskowa HOME nie jest ustawiona, pojawia się następujący błąd: Nie można utworzyć inżektora dla com.github.jknack.antlr-4ide.Antlr4 dla com.github.jknack.antlr-4ide.Antlr4 .
    • Upewnij się, że zmienna środowiskowa HOME jest ustawiona. Jeśli nie, ustaw go odpowiednio dla swojego systemu.
    • Pobierz Xtext 2.7.3 do tej samej lokalizacji, co plik antlr-nnn-complete.jar.
    • W Eclipse kliknij Pomoc i wybierz Zainstaluj nowe oprogramowanie.
    • Kliknij Dodaj…, aby przejść do okna Dodaj repozytorium.
    • Wpisz nazwę, na przykład xtext 2.7.3, a następnie kliknij Archiwum ..., przejdź do pliku Xtext 2.7.3 i wybierz go, a następnie kliknij OK.
    • W oknie Instalacja kliknij przycisk Wybierz wszystko, a następnie kliknij Dalej> dwa razy, zaakceptuj umowę licencyjną. i kliknij przycisk Zakończ.
    • Uruchom ponownie Eclipse.
  3. Powiedz Eclipse / Java, gdzie jest ANTLR.

    • W Eclipse kliknij Okno i wybierz Preferencje.
    • W lewym okienku rozwiń Javę i ścieżkę kompilacji, a następnie wybierz Zmienne ścieżki klasy.
    • W prawym okienku kliknij opcję Nowy…, wpisz nazwę, kliknij opcję Plik… i przejdź do lokalizacji pliku antlr-nnn-complete.jar. Kliknij przycisk OK, aby wrócić do okna Zmienne klasy.
    • Kliknij OK, aby wyjść z Preferencji.
  4. (Opcjonalnie) Skonfiguruj katalog źródeł generowanych przez ANTLR IDE.

    • W głównym oknie Eclipse kliknij Okno, a następnie Preferencje.
    • W lewym okienku rozwiń ANTLR 4 i wybierz Narzędzie.
    • W sekcji Opcje zmień katalog, jeśli to konieczne. Na przykład java jest moim językiem docelowym, więc używam ./antlr-java.
    • Kliknij przycisk OK, aby zamknąć okno Preferencje.
  5. Utwórz projekt ANTLR 4.

    • W głównym oknie Eclipse przejdź do Plik, Nowy, Projekt.
    • W oknie Nowy projekt rozwiń Ogólne i wybierz Projekt ANTLR 4.
    • Kliknij przycisk Dalej, wpisz nazwę projektu i kliknij przycisk Zakończ.
    • Domyślny nowy projekt zawiera plik Hello.g4 i automatycznie zbuduje standardowy program „Hello World”.
    • W Eksploratorze pakietów rozwiń nowy folder projektu, aby zobaczyć plik g4 i folder o nazwie cel (lub nazwę nadaną mu w kroku 5) zawierający docelowe pliki źródłowe.

Instalowanie ANTLR w Visual Studio 2015 (za pomocą Nuget)

  1. Otwórz Visual Studio 2015, przejdź do Narzędzia → Rozszerzenia → Online i wyszukaj Antlr. Pobierz rozszerzenie ANTLR Language Support (utworzone przez Sama Harwella) i uruchom ponownie program Visual Studio.
  2. Utwórz nowy projekt aplikacji konsolowej. Kliknij prawym przyciskiem myszy Rozwiązanie → Zarządzaj pakietami Nuget dla rozwiązania → Przeglądaj (Tab) i wyszukaj Antlr4 i zainstaluj go. Antlr4 Nuget
  3. Dodaj nowy element do projektu, klikając go prawym przyciskiem myszy. I poszukaj szablonów ANTLR4. Szablony Antlr4
  4. Z pliku ANTLR (kończącego się .g4) przejdź do Plik → Zaawansowane opcje zapisu i wyszukaj Unicode (UTF-8 bez podpisu ) - Strona kodowa 65001 i kliknij OK. Otóż to. Zaawansowane opcje zapisywania Antlr

Sprawdź, czy wszystko działa

  • Utwórz element złożonej gramatyki ANTLR 4 i nazwij ją Calculator.g4
  • Skopiuj i wklej kod źródłowy kalkulatora z tego projektu Github tutaj: Kalkulator autorstwa Tom Everett
  • Zmień kalkulator gramatyki na kalkulator gramatyki
  • W Solution Explorer → Kliknij Pokaż wszystkie pliki.
    Solution Explorer Pokaż wszystkie pliki
  • Zapisz i uruchom (Rozpocznij) projekt
  • W Solution Explorer w folderze obj powinieneś zobaczyć klasy cs wygenerowane jak Visitor i Listener. W takim przypadku się udało. Teraz możesz rozpocząć pracę z ANTLR w Visual Studio 2015. Klasy generowane przez ANTLR


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow