ANTLR Samouczek
Rozpoczęcie pracy z ANTLR
Szukaj…
Uwagi
ANTLR (ANother Tool for Language Recognition) to potężny generator parsera do odczytu, przetwarzania, wykonywania lub tłumaczenia uporządkowanego tekstu lub plików binarnych. Jest szeroko stosowany do tworzenia języków, narzędzi i ram. Z gramatyki ANTLR generuje analizator składni, który może budować i chodzić podczas analizowania drzew.
- Oficjalna strona antlr (zawsze wskazuje na najnowszą wersję)
Wersje Antlr
Antlr jest podzielony na dwie duże części, gramatykę (pliki gramatyki) i wygenerowane pliki kodu, które wywodzą się z gramatyki opartej na języku docelowym. Wersje antlr mają format V1.V2.V3:
- Wersja 1: Zmiana w wersji 1 oznacza, że w plikach gramatycznych wprowadzono nową składnię funkcji
- Wersja 2: Zmiana w wersji 2 oznacza, że w generowanych plikach wprowadzono nowe funkcje lub główne poprawki (np. Dodanie nowych funkcji)
- V3: oznacza poprawki błędów lub drobne ulepszenia
Biblioteki wykonawcze i cele generowania kodu
Narzędzie Antlr jest napisane w Javie, jednak jest w stanie generować parsery i leksyki w różnych językach. Aby uruchomić parser i lexer, musisz także mieć bibliotekę uruchomieniową antlr wraz z parserem i kodem lexer. Obsługiwane języki docelowe (i biblioteki wykonawcze) są następujące:
Jawa
DO#
Python (2 i 3)
JavaScript
Wersje
Wersja | Data wydania |
---|---|
2.0 | 1997-05-01 |
3.0 | 19.01.2011 |
4.0 | 21.01.2013 |
4.1 | 01.07.2013 |
4.2 | 05.02.2014 |
4.2.1 | 2014-03-25 |
4.2.2 | 07.04.2014 |
4.3 | 19.06.2014 |
4.4 | 2014-07-16 |
4.5 | 23.01.2015 |
4.5.1 | 2016-07-16 |
4.5.2 | 30.01.2016 |
4.5.3 | 31.03.2016 |
4.6 | 15.12.2016 |
4.7 | 30.03.2017 |
Witaj świecie
Prostą gramatykę cześć świata można znaleźć tutaj :
// define a grammar called Hello
grammar Hello;
r : 'hello' ID;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
Aby zbudować ten przykład .g4, możesz uruchomić następującą komendę z poziomu terminala / wiersza poleceń systemu operacyjnego:
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
Zbudowanie tego przykładu powinno dać następujące wyniki w katalogu plików Hello.g4:
- Hello.tokens
- HelloBaseListener.java
- HelloLexer.java
- HelloLexer.tokens
- HelloListener.java
- HelloParser.java
Korzystając z tych plików we własnym projekcie, należy dołączyć plik jar ANTLR. Aby skompilować wszystkie te pliki przy użyciu języka Java, w tym samym katalogu operacyjnym lub według ścieżki uruchom następujące polecenie:
javac *.java