Описание тега antlr4
ANTLR означает ANother Tool for Language Recognition, мощный генератор парсеров для чтения, обработки, выполнения или перевода структурированных текстовых или двоичных файлов. По своей сути ANTLR использует грамматику с синтаксисом, в значительной степени основанным на Backus–Naur_Form, для создания синтаксического анализатора. Этот синтаксический анализатор создает легко проходимые деревья синтаксического анализа, которые пользователь может обрабатывать дальше. Упрощенный и мощный дизайн ANTLR позволил использовать его во многих проектах, от оценщика выражений в приложении Apple Numbers1 до IntelliJ IDEA IDE2.
Основное улучшение между ANTLR4 и ANTLR3 - это изменение алгоритма синтаксического анализа. Этот новый вариант алгоритма синтаксического анализа LL(*), придуманный Adaptive LL(*), переводит все усилия по грамматическому анализу во время выполнения, позволяя ANTLR обрабатывать леворекурсивные правила. Эта новая устойчивость привела к названию "Медовый барсук", о котором Теренс Парр сказал следующее:
ANTLR v4 назван выпуском медового барсука в честь бесстрашного героя сенсации YouTube "Сумасшедший противный медовый барсук". Чтобы процитировать медового барсука, ANTLR v4 просто наплевать. Это довольно плохая задница. При правильном синтаксическом анализе потребуется практически любая грамматика. И без возврата! *
- Теренс Парр
(Чтобы узнать больше, просмотрите полный разговор!)
Если вы заинтересованы в изучении использования ANTLR4, неплохо было бы начать с официальной документации, которая дает отличное введение в саму библиотеку.
Дальнейшее чтение:
1 Источник из статьи, написанной самим Терренсом Парром.
2 Источник из официального списка Jetbrain стороннего программного обеспечения в IDEA.
3 24 января 2013 г.www.antlr.org
адрес был изменен с указания на сайт для ANTLR версии 3 (www.antlr3.org
) в ANTLR версии 4 (www.antlr4.org
). Итак, вопросы и ответы, которые использовалиwww.antlr.org
были правильными для ANTLR 3.x до этой даты. Ссылки следует обновить наwww.antlr3.org
для ANTLR 3.x или www.antlr4.org
для ANTLR 4.x.