ANTLR

ANTLR
VývojářTerence Parr a ostatní
Aktuální verze4.13.0 (21. května 2023)
Operační systémmultiplatformní
Vyvíjeno vJava
Typ softwarugenerátor překladačů
LicenceBSD licence
Webhttp://www.antlr.org
Některá data mohou pocházet z datové položky.

ANTLR (v angličtině se vyslovuje jako antler, toto slovo v českém jazyce znamená paroží) nebo také ANother Tool for Language Recognition (jiný nástroj pro rozpoznávání jazyka) je v oboru počítačového rozpoznávání jazyka nástroj, který umožňuje generovat vlastní překladač. Využívá bezkontextový jazyk typu LL(*).

Historie

ANTLR je nástupcem Purdue Compiler Construction Tool Set (PCCTS), který světlo světa spatřil poprvé v roce 1989. Jeho správcem je profesor Terence Parr z Univerzity San Francisco. První verze byla vydána v únoru 1992. Aktuální stabilní verze je 4.1, uvolněna 30. června 2013. Podporované jazyky u verze 4.1 jsou pouze Java a C#. Na podpoře pro jazyk C++ se momentálně pracuje. Předchozí verze 3 podporovala následující jazyky Ada95, ActionScript, C, C#, Java, JavaScript, Objective-C, Perl, Python, Ruby a Standard ML. I nadále probíhá aktivní vývoj.

Popis funkce

ANTLR umožňuje generovat libovolnou část z prvních třech částí překladače. Dokáže tedy vytvořit lexikální, syntaktický nebo sémantický analyzátor. Poskytuje, na rozdíl od ostatních generátorů, jediný konzistentní zápis, kterým je možné definovat danou část překladače. Díky této vlastnosti je jeho užívaní jednodušší.

Vstupem je gramatika v rozvinuté Backusově–Naurově formě (EBNF), která určuje jazyk a na výstupu vytváří zdrojový kód, který umí rozpoznávat daný jazyk.

Ve výchozím nastavení ANTLR čte gramatiku a generuje analyzátor pro jazyk definovaný gramatikou (tj. program, který přečte vstupní proud a generuje chybu, pokud vstupní proud neodpovídá syntaxi určené v gramatice). Pokud nejsou nalezeny žádné syntaktické chyby, pak výchozí akce je prosté ukončení programu bez tisku jakékoli zprávy. Aby bylo možné s jazykem dělat něco užitečného, lze přidat akce k jednotlivým prvkům gramatiky. Tyto akce jsou napsány v jazyce v kterém je analyzátor generován a jsou přidány na správná místa do zdrojového kódu během jeho vytváření. Tyto akce mohou být používány na budování a kontrolu tabulek symbolů, zároveň také umožňují, v případě překladače, vydávat pokyny v cílovém jazyce.

Pluginy a dokumentace

Některé verze ANTLR je možné volně stáhnout jako plugin do vývojového prostředí Eclipse. Existuje také ANTLR Studio jako IDE, které se vkládá do Eclipsu.

Zatímco ANTLR samotný je zdarma, tak dokumentace k němu už není. Úplný manuál je vydáván jako kniha za poplatek. Volně dostupná dokumentace je tedy limitována pouze na různé tutoriály, ukázkové kódy a velmi obecný výpis z API.

Literatura

  • T. J. Parr, R. W. Quong, ANTLR: A Predicated-LL(k) Parser Generator, Software—Practice and Experience, Vol. 25(7), 789–810 (July 1995)

Reference

V tomto článku byl použit překlad textu z článku ANTLR na anglické Wikipedii.

Externí odkazy