ANTLR

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
ANTLR
Vývojář Terence Parr a ostatní
Aktuální verze 4.1 / 3.5 (30. června 2013 / 5. ledna 2013)
Operační systém multiplatformní
Vyvíjeno v Java
Licence BSD licence
Web http://www.antlr.org

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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é Backus–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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

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

Externí odkazy[editovat | editovat zdroj]