ANTLR(ANother Tool for Language Recognition)とは、LL(*)構文解析に基づくパーサジェネレータである(バージョン3.xはLL(*)、2.xまではLL(k))。PCCTS(Purdue Compiler Construction Tool Set)の後継として1989年に開発され、現在も活発に開発が続いている。中心となっているのは、サンフランシスコ大学の 教授である。
ANTLR はLR法に基づいたパーサジェネレータと競合関係にあり、"ANT(i)-LR"(反LR)と読めるのも偶然ではない。
ANTLR はパーサだけでなくレキサーおよびツリーパーサも生成可能である。 文法の記述方法は、EBNFに似た形式となっている。
4.13 現在、ANTLR は Java、Python、C#、JavaScript、TypeScript、Go、Swift、C++、PHP、および Dart の構文解析器のコードを生成できる。ANTLR はBSDライセンスで提供されている。
理論的背景 理論的背景は、ANTLRのサイトにある論文 LL(*): The Foundation of the ANTLR Parser Generator ANTLR: A Predicated-LL(k) Parser Generator などを参照されたい。
統合開発環境 IntelliJ IDEA、Eclipse、NetBeans、Microsoft Visual Studio 向けに ANTLR の文法をサポートするプラグインがいくつか存在する。商用製品の ANTLR Studio for Eclipse や ANTLR 4 IDE などがある。
関連項目 JavaCC SableCC Coco/R
外部リンク
GitHub antlr/antlr4 antlr/grammars-v4 tunnelvisionlabs/antlr4cs IDE ANTLRWorks 2 JetBrains Plugin Repository :: ANTLR v4 grammar plugin ANTLR 4 IDE ANTLR Studio for Eclipse antlr/ANTLRWorksを使ってみる antlr/構文木を使った解析 バーミンガム大学の チュートリアル。ANTLR 2 を対象にしたものと思われる。