ANTLR

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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. +more 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 +moreC3. A1ln. C3. AD_analyz. C3. A1tor'>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). +more 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. +more 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

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top