23. ANTLR とは
• ANother Tool for Language Recognition
• Terence Parr が開発した Parser Generator
• 文法定義ファイル (.g) を与えると、字句解析・構文解析器を生成する
• Adaptive LL(*): non-left-recursive な文脈自由文法はすべて扱える
• Terence, P. et al.: Adaptive LL(*) Parsing: The Power of Dynamic Analysis, In Proc.
OOPSLA 2014.
• Java 以外に C++ 用などの解析器も生成できる
• ただし文法定義ファイルの書き方によっては、Java 専用のものなどもある
23