Поиск…


замечания

ANTLR (еще один инструмент для распознавания языков) - мощный генератор синтаксического анализатора для чтения, обработки, выполнения или перевода структурированных текстовых или двоичных файлов. Он широко используется для создания языков, инструментов и фреймворков. Из грамматики ANTLR генерирует синтаксический анализатор, который может строить и ходить деревья синтаксического анализа.

Версии Antlr
Antlr разделяется на две большие части, грамматику (файлы грамматики) и сгенерированные файлы кода, которые выводятся из грамматики на основе целевого языка. Версия antlr находится в формате V1.V2.V3:

  • V1: изменение в V1 означает, что новый синтаксис функций был введен в грамматических файлах
  • V2: изменение в V2 означает, что в сгенерированные файлы были добавлены новые функции или основные исправления (например, добавление новых функций)
  • V3: означает исправления ошибок или незначительные улучшения

Цели библиотек времени выполнения и цели генерации кода
Инструмент Antlr написан на Java, однако он способен генерировать парсеры и лексеры на разных языках. Для запуска анализатора и лексера вам также понадобится библиотека времени выполнения antlr наряду с парсером и лексерским кодом. Поддерживаемый целевой язык (и библиотеки времени выполнения):

  • Джава

  • C #

  • Python (2 и 3)

  • JavaScript

Версии

Версия Дата выхода
2,0 1997-05-01
3.0 2011-01-19
4,0 2013-01-21
4,1 2013-07-01
4,2 2014-02-05
4.2.1 2014-03-25
4.2.2 2014-04-07
4,3 2014-06-19
4,4 2014-07-16
4.5 2015-01-23
4.5.1 2016-07-16
4.5.2 2016-01-30
4.5.3 2016-03-31
4,6 2016-12-15
4,7 2017-03-30

Привет, мир

Простую мировую грамматику приветствия можно найти здесь :

// define a grammar called Hello
grammar Hello;
r   : 'hello' ID;
ID  : [a-z]+ ;
WS  : [ \t\r\n]+ -> skip ;

Чтобы создать этот образец .g4, вы можете запустить следующую команду из терминала / командной строки операционной системы:

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

Построение этого примера должно привести к следующему выводу в каталоге файлов Hello.g4:

  1. Hello.tokens
  2. HelloBaseListener.java
  3. HelloLexer.java
  4. HelloLexer.tokens
  5. HelloListener.java
  6. HelloParser.java

При использовании этих файлов в вашем собственном проекте обязательно включите файл jar ANTLR. Чтобы скомпилировать все эти файлы с помощью Java, в том же рабочем каталоге или по пути выполните следующую команду:

javac *.java


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow