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

ANTLR расшифровывается как ANother Tool for Language Recognition, мощный генератор синтаксического анализатора для чтения, обработки, выполнения или перевода структурированного текста или двоичных файлов. В своей основе ANTLR использует грамматику с синтаксисом, свободно основанным на Backus – Naur_Form, для генерации синтаксического анализатора. Этот синтаксический анализатор создает легко проходимые деревья синтаксического анализа, которые могут быть далее обработаны пользователем. Упрощенный и мощный дизайн ANTLR позволил использовать его во многих проектах, от оценщика выражений в приложении Apple Numbers 1 до IDEA IDEA IntelliJ 2 .

Основным улучшением между ANTLR4 и ANTLR3 является изменение в алгоритме синтаксического анализа. Этот новый вариант алгоритма синтаксического анализа LL (*), придуманный адаптивный LL (*), переносит все усилия по анализу грамматики на время выполнения, делая ANTLR способным обрабатывать левые рекурсивные правила. Эта новая устойчивость привела к названию «Медовый барсук» , на котором Теренс Парр сказал следующее:

ANTLR v4 называется выпуском медового барсука после бесстрашного героя Сенсация на YouTube, "Безумный Настясский медовый барсук" . Процитирую медового барсука, ANTLR v4 просто наплевать. Это довольно плохая задница. Это займет практически любую грамматику, которую вы дадите ей правильно. И без возврата! *

- Теренс Парр

(Чтобы узнать больше, ознакомьтесь с full Разговор !)

Если вы заинтересованы в обучении использованию ANTLR4, хорошим началом будет официальная документация , которая дает отличное представление о самой библиотеке. [ 1127]

Дополнительная литература:

1 Источник из статьи , написанной самим Терренсом Парром.

2 Получено из официального списка Jetbrain программного обеспечения сторонних производителей в IDEA.

3 24 января 2013 года адрес www.antlr.org был изменен с указания на сайт для версии 3 ANTLR (www.antlr3.org) на версию 4 ANTLR (www.antlr4.org). Так что вопросы и ответы, которые использовали www.antlr.org, были правильными для ANTLR 3.x до этой даты. Ссылки должны быть обновлены до www.antlr3.org для ANTLR 3.x или www.antlr4.org для ANTLR 4.x.