Поиск…


замечания

ANTLR v4 - мощный инструмент, используемый для создания новых языков программирования и обработки / перевода структурированных текстовых или двоичных файлов. ANTLR использует созданную вами грамматику для генерации парсера, который может создавать и перемещать дерево разбора (или абстрактное синтаксическое дерево, AST). Парсер состоит из выходных файлов на указанном вами целевом языке. ANTLR v4 поддерживает несколько целей, включая: Java, C #, JavaScript, Python2 и Python3. Работа над C ++ работает. Для работы с IDE в GUI существуют плагины для Visual Studio, Intellij, NetBeans и Eclipse.

Для получения общей информации посетите веб-сайт ANTLR . Чтобы серьезно относиться к ANTLR, ознакомьтесь с очень рекомендуемой книгой, написанной Терренсом Парром (парнем, создавшим ANTLR) . Окончательный ANTLR 4 Reference .


Значительная информация о версии

Установка для использования в командной строке

ANTLR распространяется как файл Java Jar. Его можно скачать здесь . Поскольку ANTLR скомпилирован как файл jar, он впоследствии требует, чтобы среда выполнения Java работала, если у вас ее нет. Ее можно скачать здесь .

После загрузки файла ANTLR JAR вы можете запустить ANTLR из командной строки так же, как и любой другой JAR-файл:

Java -jar antlr-4.5.3-complete.jar

(Предположим, что вы работаете в том же каталоге, что и файл antlr-4.5.3-complete.jar).

Это должно вывести что-то похожее на это:

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

другие рекомендуемые действия для настройки:

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

После настройки вы можете создать приложение, используя ваш грамматический файл .g4:

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

Вы также можете создать приложение на других языках с параметром -Dlanguage. Например, чтобы сгенерировать файлы C #, вы должны сделать что-то вроде этого:

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

См. Здесь полный список подготовленных грамматик для общих языков программирования.

Установка с использованием средств автоматизации сборки

Загрузите последнюю версию ANTLR и извлеките ее в папку.

Вы можете использовать также Maven, Gradle или другой инструмент построения, чтобы зависеть от его среды выполнения (классы, которые используют сгенерированные грамматики): org.antlr:antlr4-runtime .

Чтобы автоматически - часть процесса сборки - генерировать парсер в проекте maven, используйте плагин Maven : org.antlr:antlr4 .

Установить в Eclipse и создать Hello World

(Протестировано с ANTLR 4.5.3, Eclipse Neon, ANTLR 4 IDE 0.3.5 и Java 1.8)

  1. Загрузите последний ANTLR . Удостоверьтесь, что вы получили полную версию бинарных файлов ANTLR Java. Сохраните в любом подходящем месте, например папку, в которой хранятся другие библиотеки Java. Неважно, где, просто помните место.
  1. Установите ANTLR IDE в Eclipse.

    • В меню Eclipse нажмите «Справка» и выберите «Затмение».
    • В поле «Найти» введите antlr и нажмите «Перейти».
    • Нажмите «Установить» для IDE ANTLR 4.
    • Нажмите «Готово» в окне «Подтвердить выбранные функции».
    • Если появится окно предупреждения безопасности, нажмите «ОК».
    • Перезапустить Eclipse.
  2. Работайте над ошибкой «Не удалось создать инжектор ...».

    • При доступе к ANTLR 4 Preferences в Eclipse или когда не задана переменная HOME HOME, возникает следующая ошибка: Не удалось создать инжектор для com.github.jknack.antlr-4ide.Antlr4 для com.github.jknack.antlr-4ide.Antlr4 ,
    • Убедитесь, что установлен параметр HOME. Если нет, установите его в соответствии с вашей системой.
    • Загрузите Xtext 2.7.3 в том же месте, что и antlr-nnn-complete.jar.
    • В Eclipse нажмите «Справка» и выберите «Установить новое программное обеспечение».
    • Нажмите «Добавить ...», чтобы перейти в окно «Добавить репозиторий».
    • Введите имя, xtext 2.7.3, а затем нажмите «Архив ...», перейдите к файлу Xtext 2.7.3 и выберите его, затем нажмите «ОК».
    • В окне «Установка» нажмите кнопку «Выбрать все», затем нажмите «Далее»> дважды, примите лицензионное соглашение. и нажмите «Готово».
    • Перезапустить Eclipse.
  3. Скажите Eclipse / Java, где ANTLR.

    • В Eclipse нажмите «Окно» и выберите «Настройки».
    • На левой панели разверните узел Java и Build Path, затем выберите переменные класса.
    • В правой панели нажмите «Создать ...», введите имя и нажмите «Файл ...» и перейдите к своему местоположению antlr-nnn-complete.jar. Нажмите «ОК», чтобы вернуться в окно «Переменные переменных класса».
    • Нажмите «ОК», чтобы выйти из «Настройки».
  4. (Необязательно) Настройте каталог сгенерированных источников ANTLR IDE.

    • В главном окне Eclipse нажмите «Окно», затем «Настройки».
    • На левой панели разверните ANTLR 4 и выберите «Инструмент».
    • В разделе «Параметры» при необходимости измените каталог. Например, java - это мой целевой язык, поэтому я использую ./antlr-java.
    • Нажмите «ОК», чтобы закрыть окно «Настройки».
  5. Создайте проект ANTLR 4.

    • В главном окне Eclipse откройте «Файл», «Создать», «Проект».
    • В окне «Новый проект» разверните «Общие» и выберите «Проект ANTLR 4».
    • Нажмите «Далее», введите название проекта и нажмите «Готово».
    • Новый проект по умолчанию содержит файл Hello.g4 и автоматически создаст стандартную программу Hello World.
    • В Проводнике пакетов разверните новую папку проекта, чтобы увидеть файл g4 и папку с именем target (или имя, которое вы дали на шаге 5), содержащее целевые исходные файлы.

Установка ANTLR в Visual Studio 2015 (с использованием Nuget)

  1. Откройте Visual Studio 2015, перейдите в Инструменты → Расширения → Онлайн и найдите Antlr. Загрузите расширение ANTLR Language Support (Создано Sam Harwell) и перезапустите Visual Studio.
  2. Создайте новый проект консольного приложения. Щелкните правой кнопкой мыши на Solution → Manage Nuget Packages for Solution → Browse (Tab) и найдите Antlr4 и установите его. Antlr4 Nuget
  3. Добавьте новый элемент в свой проект, щелкнув его правой кнопкой мыши. Ищите шаблоны ANTLR4. Шаблоны Antlr4
  4. Из файла ANTLR (окончание .g4) перейдите в меню «Файл → Предварительное сохранение параметров» и выполните поиск Unicode (UTF-8 без подписи ) - Codepage 65001 и нажмите «ОК». Это оно. Расширенные варианты сохранения Antlr

Если все работает

  • Создайте элемент комбинированной грамматики ANTLR 4 и назовите его Calculator.g4
  • Скопируйте и вставьте исходный код калькулятора из этого проекта Github здесь: Калькулятор от Tom Everett
  • Сменить грамматический калькулятор на грамматический калькулятор
  • В обозревателе решений → Нажмите Показать все файлы.
    Обозреватель решений Показать все файлы
  • Сохранить и запустить (запустить) проект
  • В обозревателе решений в папке obj вы должны увидеть классы cs, созданные как посетитель и слушатель. Если это так, вам это удалось. Теперь вы можете начать работу с ANTLR в Visual Studio 2015. Сгенерированные классы ANTLR


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