Категории программ

Новые программы

ANTLR

5 Червня, 2014 0

ANTLR (от англ. ANother Tool for Language Recognition – «ещё одно средство распознавания языков») – свободный генератор парсеров, позволяющий автоматически создавать программу-парсер (как и лексический анализатор) на одном из целевых языков программирования (C++, Java, C#, Python, Ruby) по описанию LL(*)-грамматики на языке, близком к РБНФ (расширенная Бэкус – Наурова форма).

ANTLR позволяет конструировать компиляторы, интерпретаторы, трансляторы с различных формальных языков. Предоставляет удобные средства для восстановления после ошибок и сообщения о них. ANTLR – продолжение PCCTS (Purdue Compiler Construction Tool Set), который был разработан в 1989 г.

Основоположником проекта и его главным вдохновителем является проф. Теренс Парр (Terence Parr) из Университета Сан-Франциско. ANTLR – проект с открытым исходным кодом, версия 3.0 распространяется по лицензии BSD. Проект в настоящее время активно развивается.

Создатели ANTLR утверждают, что многие преимущества при определении действий для правил являются следствием того, что ANTLR осуществляет LL разбор, то есть использует разбор сверху вниз, в отличие от GNU Bison и GPPG, которые используют разбор снизу вверх. Кроме того, ANTLR выгодно отличается от других подобных программ наличием визуальной среды разработки ANTLRWorks, позволяющей удобно создавать и отлаживать грамматики: это многооконный редактор, поддерживающий подсветку синтаксиса, автодополнение, визуальное отображение грамматик, строящееся в реальном времени по мере ввода, отладчик, инструменты для рефакторинга и т. д..

Краткая справка элементов языка

(…) подправило
(…)* повторение подправила 0 или более раз
(…)+ Повторение подправила 1 или более раз
(…)? подправило, может отсутствовать
{…} семантические действия (на языке, использующемся в качестве выходного – напр., Java)
[…] параметры правила
| оператор альтернативы
.. оператор диапазона
~ отрицание
. любой символ
= присваивание
: метка начала правила
; метка конца правила

Использование ANTLR

Некоторые проекты, использующие ANTLR:

IntelliJ IDEA
Xcode
BEA WebLogic
Hibernate Query Language
Drools/JBoss Rules
iWeb (часть iLife)
Язык Groovy

Преимущества ANTLR

ANTLR

Ссылки

Сайт ANTLR

Скачать ANTLR

Компиляторы , Отладчики , Разработчику , Редакторы кода , Средства разработки

Оставить комментарий