Описание тега antlr4

Версия 4 другого инструмента для распознавания языков (ANTLR), гибкого генератора лексера / парсера. ANTLR4 имеет усовершенствованный адаптивный алгоритм анализа LL(*), который улучшает более простой алгоритм LL(*), используемый в ANTLR3.

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.