ANTLR

ANTLR
ANTLR
Автор

Терренс Парр и другие

Написана на

Java

Первый выпуск

Февраль 1992

Аппаратная платформа

Кроссплатформенное программное обеспечение

Последняя версия

3.4 (18 июля 2011)

Состояние

в разработке

Лицензия

BSD

Сайт

http://www.antlr.org/

ANTLR (от англ. ANother Tool for Language Recognition — «ещё одно средство распознавания языков») — генератор парсеров, позволяющий автоматически создавать программу-парсер (как и лексический анализатор) на одном из целевых языков программирования (C++, Java, C#, Python, Ruby)[1] по описанию LL(*)-грамматики на языке, близком к РБНФ. Позволяет конструировать компиляторы, интерпретаторы, трансляторы с различных формальных языков. Предоставляет удобные средства для восстановления после ошибок и сообщения о них. ANTLR — продолжение PCCTS (Purdue Compiler Construction Tool Set), который был разработан в 1989 г.

Содержание

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

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

Пример простейшей программы

grammar T;//имя грамматики, должно совпадать с названием файла
//нетерминальные символы:
msg : 'name' ID ';' 
        {
                System.out.println("Hello, "+$ID.text+"!");
        } ;
//терминальные символы
ID: 'a'..'z' + ;//произвольное ( но >=1) количество букв
WS: (' ' |'\n' |'\r' )+ {$channel=HIDDEN;} ; // пробел, перенос строки, табуляция

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

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

См. также

Примечания

  1. Таблица поддерживаемых языков

.

Литература

  • The Definitive ANTLR Reference: Building Domain-Specific Languages, ISBN 978-0-9787392-5-6 by Terence Parr. Pragmatic Bookshelf, 2007

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "ANTLR" в других словарях:

  • Antlr — Saltar a navegación, búsqueda ANTLR Apareció en: 1988 Desarrollador: Terence Parr y Colaboradores Última versión: 3.2 (23 09 2009) Influido por: PCCTS Sistema operativo: Linux …   Wikipedia Español

  • ANTLR — Desarrollador(es) Terence Parr y Colaboradores http://www.antlr.org Información general Apareció en 1988 Última versión estab …   Wikipedia Español

  • ANTLR — ist ein objektorientierter Parsergenerator, der seit 1989 von Terence Parr an der Universität von San Francisco entwickelt wird. Die Abkürzung ANTLR steht für ANother Tool for Language Recognition.[1] Inhaltsverzeichnis 1 Beschreibung 2 Beispiel …   Deutsch Wikipedia

  • ANTLR — Dernière version 3.2 (23 septembre 2009) [ …   Wikipédia en Français

  • ANTLR — Infobox Software name = ANTLR caption = author = Terence Parr and others developer = released = February 1992 latest release version = 3.1 latest release date = release date|2008|08|12 programming language = Java operating system = platform =… …   Wikipedia

  • ANTLR Studio — Infobox Software name = ANTLR Studio genre = Integrated development environment website = [http://placidsystems.com http://placidsystems.com] ANTLR Studio is an IDE for the ANTLR parser generator. It plugs into the Eclipse development environment …   Wikipedia

  • Antlr — …   Википедия

  • Syntactic predicate — A syntactic predicate specifies the syntactic validity of applying a production in a formal grammar and is analogous to a semantic predicate that specifies the semantic validity of applying a production. It is a simple and effective means of… …   Wikipedia

  • LL parser — An LL parser is a top down parser for a subset of the context free grammars. It parses the input from Left to right, and constructs a Leftmost derivation of the sentence (hence LL, compared with LR parser). The class of grammars which are… …   Wikipedia

  • LL-анализатор — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»