Comparison of parser generators
Appearance
This is an incompilete list of compiler-compilers.
Product | Type | Output Languages | Grammar/code | Lexer | CC platform | IDE | License |
AnaGram | LALR | ANSI C, C++ | ? | ? | Win32 | yes | Proprietary |
ACCENT | GLR | C | Mixed | External (Lex) | All (ANSI C) | no | Open source (GPL) |
ANTLR | LL(k) | C++, C#, Java, Python | Mixed | Generated | All (Java) | no | Open source (BSD) |
Beaver | LALR | Java | Mixed | External | All (Java) | no | Open source (BSD) |
Bison | LALR, GLR | C, C++ | Mixed | External (Flex) | GNU/Linux, Unix, Win32 | no | Open source (GPL) |
BYACC | LALR | C | Mixed | External | Unix, Win32 | no | Public domain |
BYACC/J | LALR | C, Java | Mixed | External (JFlex) | Irix, Linux, Solaris, Win32 | no | Public domain |
Coco/R | LL(k) | C++, C#, Java | Mixed | Generated | All (Java), .NET, Linux | no | Open source (GPL) |
CppCC | LL(k) | C++ | ? | ? | ? | no | Open source (GPL) |
CSTools | LALR | C# | Mixed | Generated | .NET | no | Open source |
CUP | LALR | Java | Mixed | External (JLex) | All (Java) | no | Open source (GPL) |
Elkhound | GLR | C++, Ocaml | Mixed | External | Unix, Win32 | no | Open source (BSD) |
GOLD | LALR | ANSI C, C#, Delphi, Java, Python, Visual Basic, Visual C++ | Separated | ? | Win32 | yes | Open source (zlib/libpng) |
Grammatica | LL(k) | C#, Java | Separated | Generated | All (Java) | no | Open source (GPL) |
jacc | LALR | Java | Mixed | ? | All (Java) | no | Open source (BSD) |
JavaCC | LL(k) | Java | ? | Generated | All (Java) | no | Open source (BSD) |
jay | LALR | Java | ? | ? | Unix | no | ? |
LEMON | LALR | C | ? | ? | ? | no | Public domain |
LRgen | LALR | C++, Any (if you rewrite the skeleton) | Separated | Generated | Win32 | no | Proprietary |
Parser Objects | LL(k) | Java | Mixed | ? | All (Java) | no | Open source (ZLib/LibPNG) |
PRECC | LL(k) | C | ? | ? | Dos, Unix | no | ? |
Rats! | Packrat | Java | Mixed | Generated | All (Java) | no | Open source (LGPL) |
SableCC | LALR | Java (and, with "altgen" engine, Python, C++, OCAML, etc.) | Separated | Generated | All (Java & various) | no | Open source (LGPL) |
SLK | LL(k) | C, C++, C#, Java | Separated | External | Win32, Linux | no | Proprietary |
Spirit | LL(k) | C++ | Mixed | ? | - | no | Open source (Boost) |
TextTransformer | LL(k) | C++ | Mixed | Generated | Win32 | yes | Proprietary (free version) |
Visual Parse++ | LALR | C++,C++, C#, Java | Separated | Generated | Win32 | yes | Proprietary |
Yacc (AT&T) | LALR | C (other languages available) | Mixed | External | Unix | no | Open source (various) |
YooParse | LR | C++ | ? | External (YooLex) | ? | no | Open source (MIT) |