| Name | Website | Parsing Algorithm | Output Languages | Grammar / Code | Lexer | Development Platform | IDE | License
|
| ACCENT | [13] | Earley | C | mixed | external | all | no | GNU GPL
|
| ANTLR | [14] | LL(*) | C, C++, C#, Java, Python | mixed | generated | Java Virtual Machine | yes | BSD
|
| APaGeD | [15] | GLR, LALR(1), LL(k) | D | mixed | generated | all | no | Artistic
|
| APG | [16] | Recursive Descent | C, C++, JavaScript | separate | none | all | no | GNU GPL
|
| Beaver | [17] | LALR | Java | mixed | external | Java Virtual Machine | no | BSD
|
| Bison | [18] | LALR, GLR | C, C++, Java | mixed | external | all | no | GNU GPL
|
| Bison++ | [19] | LALR(1) | C++ | mixed | external | POSIX | no | GNU GPL
|
| Bisonc++ | [20] | LALR(1) | C++ | mixed | external | POSIX | no | GNU GPL
|
| BtYacc | [21] | LALR | C++ | mixed | external | all | no | public domain
|
| byacc | [22] | LALR | C | mixed | external | all | no | public domain
|
| BYACC/J | [23] | LALR | C, Java | mixed | external | all | no | public domain
|
| CL-Yacc | [24] | LALR(1) | Common Lisp | mixed | external | all | no | MIT
|
| Coco/R | [25] | LL(k) | C, C++, C#, F#, Java, Ada, Pascal, Modula-2, Oberon, Ruby, Unicon, Visual Basic .NET | mixed | generated | Java Virtual Machine, .NET Framework | no | GNU GPL
|
| CookCC | [26] | LALR(1) | Java | mixed | generated | Java Virtual Machine | no | BSD
|
| CppCC | [27] | LL(k) | C++ | mixed | generated | POSIX | no | GNU GPL
|
| CSP | [28] | LR(1) | C++ | separate | generated | POSIX | no | Apache License 2.0
|
| CSTools | [29] | LALR | C# | mixed | generated | .NET Framework | no | proprietary
|
| CUP | [30] | LALR | Java | mixed | external | Java Virtual Machine | no | GNU GPL
|
| DMS Software Reengineering Toolkit | [31] | GLR | Parlanse | mixed | generated | Microsoft Windows | no | proprietary
|
| DParser | [32] | Scannerless GLR | C | mixed | generated | POSIX | no | BSD
|
| Dragon | [33] | LR(1), LALR | C++, Java | separate | generated | all | no | GNU GPL
|
| Dypgen | [34] | runtime-extensible GLR | OCaml | mixed | generated | all | no | CeCILL-B
|
| Elkhound | [35] | GLR | C++, OCaml | mixed | external | all | no | BSD
|
| eli | [36] | LALR | C | mixed | generated | POSIX | no | GNU GPL, GNU LGPL
|
| Essence | [37] | LR | Scheme 48 | mixed | external | all | no | BSD
|
| eu.h8me.Parsing | [38] | GLR | N/A (state machine is runtime generated) | separate | external | .NET Framework | no | BSD
|
| eyapp | [39] | LALR(1) | Perl | mixed | external | all | no | Perl
|
| Frown | [40] | LALR(k) | Haskell 98 | mixed | external | all | no | GNU GPL
|
| GDK | [41] | LALR(1), GLR | C, Lex, Haskell, HTML, Java, Object Pascal, Yacc | mixed | generated | POSIX | no | MIT
|
| geyacc | [42] | LALR(1) | Eiffel | mixed | external | all | no | MIT
|
| GOLD | [43] | LALR | x86 assembly language, ANSI C, C#, D, Java, Pascal, Object Pascal, Python, Visual Basic 6, Visual Basic .NET, Visual C++ | separate | generated | Microsoft Windows | yes | freeware
|
| GPPG | [44] | LALR | C# | separate | external | Microsoft Windows | yes | freeware
|
| Grammatica | [45] | LL(k) | C#, Java | separate | generated | Java Virtual Machine | no | GNU LGPL
|
| Happy | [46] | LALR, GLR | Haskell | mixed | external | all | no | BSD
|
| HiLexed | [47] | LL(*) | Java | separate | internal | Java Virtual Machine | no | GNU LGPL
|
| Hyacc | [48] | LR(1), LALR(1), LR(0) | C | mixed | external | all | no | GNU GPL
|
| jacc | [49] | LALR | Java | mixed | external | Java Virtual Machine | no | BSD
|
| JavaCC | [50] | LL(k) | Java | mixed | generated | Java Virtual Machine | yes | BSD
|
| jay | [51] | LALR | C#, Java | mixed | none | Java Virtual Machine | no | BSD
|
| JFLAP | [52] | LL(1) | Java | ? | ? | Java Virtual Machine | yes | ?
|
| JetPAG | [53] | LL(k) | C++ | mixed | generated | all | no | GNU GPL
|
| JS/CC | [54] | LALR(1) | JavaScript, JScript, ECMAScript | mixed | internal | all | yes | Artistic
|
| Kelbt | [55] | Backtracking LALR(1) | C++ | mixed | generated | POSIX | no | GNU GPL
|
| kmyacc | [56] | LALR(1) | C, Java, Perl, JavaScript | mixed | external | all | no | GNU GPL
|
| Lapg | [57] | LALR | C, C++, C#, Java, JavaScript | mixed | generated | Java Virtual Machine | no | GNU GPL
|
| Lemon | [58] | LALR | C | mixed | external | all | no | public domain
|
| Lime | [59] | LALR(1) | PHP | mixed | external | all | no | GNU GPL
|
| LISA | [60] | LR, LL, LALR, SLR | Java | mixed | generated | Java Virtual Machine | yes | public domain
|
| LPG | [61] | Backtracking LALR(k) | Java | mixed | generated | Java Virtual Machine | no | EPL
|
| LLgen | [62] | LL(1) | C | mixed | external | POSIX | no | BSD
|
| LLnextgen | [63] | LL(1) | C | mixed | external | POSIX | no | GNU GPL
|
| Menhir | [64] | LR(1) | OCaml | mixed | generated | all | no | QPL
|
| Mini Parser Generator | [65] | ? | Python | mixed | generated | all | no | GNU LGPL
|
| ML-Yacc | [66] | LALR(1) | ML | mixed | external | all | no | ?
|
| Monkey | [67] | LR(1) | Java | separate | generated | Java Virtual Machine | no | GNU GPL
|
| More Than Parsing | [68] | LL(1) | Java | separate | generated | Java Virtual Machine | no | GNU GPL
|
| ocamlyacc | [69] | LALR(1) | OCaml | mixed | external | all | no | QPL
|
| olex | [70] | LL(1) | C++ | mixed | generated | all | no | GNU GPL
|
| Parsec | [71] | GLR | Haskell | mixed | none | all | no | BSD
|
| Parse::Yapp | [72] | LALR(1) | Perl | mixed | external | all | no | GNU GPL
|
| Parser Objects | ? | LL(k) | Java | mixed | ? | Java Virtual Machine | no | zlib
|
| PCCTS | [73] | LL | C, C++ | ? | ? | all | no | ?
|
| PLY | [74] | LALR(1) | Python | mixed | generated | all | no | MIT License
|
| PRECC | [75] | LL(k) | C | separate | generated | MS-DOS, POSIX | no | GNU GPL
|
| QLALR | [76] | LALR(1) | C++ | mixed | external | all | no | GNU GPL
|
| SableCC | [77] | LALR | C, C++, C#, Java, OCaml, Python | separate | generated | all | no | GNU LGPL
|
| SmaCC | [78] | GLR(1), LALR(1), LR(1) | Smalltalk | mixed | internal | all | yes | MIT
|
| SLK | [79] | LL(k) | C, C++, C#, Java | separate | external | all | no | proprietary
|
| SPARK | [80] | Earley | Python | mixed | external | all | no | MIT
|
| Spirit | [81] | Recursive Descent | C++ | mixed | internal | all | no | Boost
|
| Styx | [82] | LALR(1) | C, C++ | separate | generated | all | no | GNU LGPL
|
| Sweet Parser | [83] | LALR(1) | C++ | separate | generated | Microsoft Windows | no | zlib
|
| Tap | [84] | LL(1) | C++ | mixed | generated | all | no | GNU GPL
|
| TextTransformer | [85] | LL(k) | C++ | mixed | generated | Microsoft Windows | yes | proprietary
|
| Tom | [86] | GLR | C | generated | none | all | no | proprietary
|
| TinyPG | [87] | LL(1) | C#, Visual Basic | ? | ? | Microsoft Windows | yes | CPOL 1.0
|
| Toy Parser Generator | [88] | Recursive Descent | Python | mixed | generated | all | no | GNU LGPL
|
| TP Yacc | [89] | LALR(1) | Turbo Pascal | mixed | external | all | yes | GNU GPL
|
| UltraGram | [90] | LALR, LR, GLR | C++, C#, Java, Visual Basic .NET | separate | generated | Microsoft Windows | yes | proprietary
|
| Yacc (AT&T) | [91] | LALR | C | mixed | external | POSIX | no | CPL
|
| Yacc++ | [92] | LR(1), LALR(1) | C++, C# | mixed | generated or external | all | no | proprietary
|
| Yapps | [93] | LL(1) | Python | mixed | generated | all | no | MIT
|
| yecc | [94] | LALR(1) | Erlang | separate | generated | all | no | Erlang
|
| Visual BNF | [95] | LR(1), LALR(1) | C# | separate | generated | .NET Framework | yes | proprietary
|
| Visual Parse++ | [96] | LALR | C, C++, C#, Java | separate | generated | Microsoft Windows | yes | proprietary
|
| YooParse | [97] | LR | C++ | mixed | external | all | no | MIT
|
| Whale | [98] | LR | C++ | mixed | external | all | no | proprietary
|
| Wisent | [99] | LALR(1) | C++, Java | mixed | external | Java Virtual Machine | no | GNU GPL
|
| Wormhole | [100] | Pruning (disambiguater), LR, GLR, Scannerless GLR | C, Python | mixed | generated | Microsoft Windows | no | MIT
|
| Product | Website | Parsing Algorithm | Output Languages | Grammar / Code | Lexer | Development Platform | IDE | License
|