What is ANTLR?
ANTLR, Another Tool for Language Recognition,(formerly PCCTS) is a parser and translator generatortool, akin to the venerable lex/yacc duo, that lets you constructrecognizers, compilers, and source-to-source translators fromgrammatical descriptions containing C++ or Java actions. You canbuild translators for database formats, graphical data files (e.g.,PostScript, AutoCAD), text processing files (e.g., HTML, SGML),etc.... ANTLR is designed to handle all of your translation tasks.ANTLR is recommended by the co-inventor of LL(k) parsers and by theinventor of SLR(k) and LALR(k) parser; see recommendations.
Terence Parr isthe primary author of ANTLR and has been working on translation toolssince the late 1980s. Terence's Ph.D. thesis (Purdue EE '93) providedthe theoreteical basis for ANTLR's practical LL(k) for k>1 parsingstrategy. See contributions tocomputer science and ANTLR/PCCTS history.
ANTLR comes in source/binary form and is completely free withoutcopyright, though Terence claims ownership of ANTLR. Please see software rights.