Категории

ANTLR

ANTLR (от английски ANother Tool for Language Recognition – „друг инструмент за разпознаване на езици“) – безплатен генератор на парсери, който ви позволява автоматично да създадете програма за парсери (като лексикален анализатор) на един от целевите езици за програмиране (C++, Java, C#, Python, Ruby ), като опишете LL(*)-граматиката на език, близък до RBNF (разширена форма на Бакъс – Науров).

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

Категории: Дебъгери, За разработчици, Компилатори, Редактори на код, Средства за разработка

Реклама