ANTLR
Wprowadzenie do ANTLR v4
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
- 4.5: 01/22/15 - Dodano cel JavaScript i zaktualizowano cel C #. 4.5 Informacje o wersji
- 4.4: 07/16/14 - Dodano Python2 i Python3 jako cele. 4.4 Informacje o wersji
- 4.3: 06/18/14 - Główne poprawki błędów; przygotowany na dodanie nowych celów. 4.3 Informacje o wersji
- 4.2: 02/04/14 - Ulepszona składnia wyboru / dopasowania drzew parsujących. 4.2 Informacje o wersji
- 4.1: 06/30/13 - Poprawiona wydajność parsowania; eksportować AST do PNG. 4.1 Informacje o wersji
- 4.0: 01/21/13 - Pierwsze wydanie.
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)
- 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ę.
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.
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.
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.
(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.
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)
- 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.
- 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.
- Dodaj nowy element do projektu, klikając go prawym przyciskiem myszy. I poszukaj szablonów ANTLR4.
- 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.
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.
- 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.