ANTLR
ANTLR(ANother Tool for Language Recognition)とは、LL(*)構文解析に基づくパーサジェネレータである(バージョン3.xはLL(*)、2.xまではLL(k))。PCCTS(Purdue Compiler Construction Tool Set)の後継として1989年に開発され、現在も活発に開発が続いている。中心となっているのは、サンフランシスコ大学の Terence Parr 教授である。
開発元 |
Terence Parr Sam Harwell Eric Vergnaud |
---|---|
最新版 |
4.13.1
/ 2023年9月5日 |
リポジトリ | |
プラットフォーム | Javaプラットフォーム |
種別 | パーサジェネレータ |
ライセンス | BSDライセンス |
公式サイト |
www |
ANTLR はLR法に基づいたパーサジェネレータと競合関係にあり、"ANT(i)-LR"(反LR)と読めるのも偶然ではない[要出典]。
ANTLR はパーサだけでなくレキサーおよびツリーパーサも生成可能である。 文法の記述方法は、EBNFに似た形式となっている。
4.7 現在、ANTLR は Java、Python (2と3)、C#、JavaScript、Go、Swift、C++の構文解析器のコードを生成できる。ANTLR はBSDライセンスで提供されている。
理論的背景
編集理論的背景は、ANTLRのサイトにある論文
などを参照されたい。
統合開発環境
編集IntelliJ IDEA、Eclipse、NetBeans、Microsoft Visual Studio 向けに ANTLR の文法をサポートするプラグインがいくつか存在する。商用製品の ANTLR Studio for Eclipse や ANTLR 4 IDE などがある。