|
|
Line 5: |
Line 5: |
|
! Name !! [[Website]] !! [[Parsing|Parsing Algorithm]] !! [[Programming language|Output Languages]] !! Grammar / Code !! Development Platform !! [[Software license|License]] |
|
! Name !! [[Website]] !! [[Parsing|Parsing Algorithm]] !! [[Programming language|Output Languages]] !! Grammar / Code !! Development Platform !! [[Software license|License]] |
|
|- |
|
|- |
|
| [[Dolphin (parser generator)|Dolphin]] || [http://users.utu.fi/aleokh/dolphin/] || [[Deterministic finite state machine]] || [[C++]] || Separated || All|| [[GNU General Public License|GNU GPL]] |
|
| [[Dolphin (parser generator)|Dolphin]] || [http://users.utu.fi/aleokh/dolphin/] || [[Deterministic finite state machine|DFA]] || [[C++]] || Separated || All|| [[Proprietary software|Proprietary |
|
|- |
|
|- |
|
| [[Ragel]] || [http://www.complang.org/ragel/] || [[Deterministic finite state machine]] || [[C (programming language)|C]], [[C++]], [[D (programming language)|D]], [[Java (programming language)|Java]], [[Objective-C]], [[Ruby (programming language)|Ruby]] || Mixed || All || [[GNU General Public License|GNU GPL]] |
|
| Russ Cox's [[regular expression]] implementations || [http://swtch.com/~rsc/regexp/] || [[Deterministic finite state machine|DFA]], [[Nondeterministic finite state machine|NFA]] || [[Bytecode]], [[x86 assembly language]], interpreted || Separated || All|| [[MIT License|MIT]] |
|
|
|- |
|
|
| [[Ragel]] || [http://www.complang.org/ragel/] || [[Deterministic finite state machine|DFA]] || [[C (programming language)|C]], [[C++]], [[D (programming language)|D]], [[Java (programming language)|Java]], [[Objective-C]], [[Ruby (programming language)|Ruby]] || Mixed || All || [[GNU General Public License|GNU GPL]] |
|
|} |
|
|} |
|
|
|
|
This is a list of notable parser generators.
Regular languages
Context-free languages
Name |
Website |
Parsing Algorithm |
Output Languages |
Grammar / Code |
Lexer |
Development Platform |
IDE |
License
|
ACCENT |
[4] |
Earley |
C |
Mixed |
External |
All |
no |
GNU GPL
|
ANTLR |
[5] |
LL(*) |
C#, Java, Python |
Mixed |
Generated |
Java Virtual Machine |
yes |
BSD
|
AnaGram |
[6] |
LALR(1) |
C, C++ |
Mixed |
Generated |
Microsoft Windows |
? |
Proprietary
|
APaGeD |
[7] |
GLR, LALR(1), LL(k) |
D |
Mixed |
Generated |
All |
no |
Artistic
|
APG |
[8] |
Recursive Descent |
C, C++ |
Separate |
None |
All |
no |
GNU GPL
|
Beaver |
[9] |
LALR |
Java |
Mixed |
External |
Java Virtual Machine |
no |
BSD
|
Bison |
[10] |
LALR, GLR |
C (programming language), C++ |
Mixed |
External |
All |
no |
GNU GPL
|
Bison++ |
[11] |
LALR(1) |
C++ |
Mixed |
External |
POSIX |
no |
GNU GPL
|
Bisonc++ |
[12] |
LALR(1) |
C++ |
Mixed |
External |
POSIX |
no |
GNU GPL
|
BtYacc |
[13] |
LALR |
C++ |
Mixed |
External |
All |
no |
Public domain
|
BYACC |
[14] |
LALR |
C |
Mixed |
External |
All |
no |
Public domain
|
BYACC/J |
[15] |
LALR |
C, Java |
Mixed |
External |
All |
no |
Public domain
|
CL-Yacc |
[16] |
LALR(1) |
Common Lisp |
Mixed |
External |
All |
no |
MIT
|
Coco/R |
[17] |
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
|
CppCC |
[18] |
LL(k) |
C++ |
Mixed |
Generated |
POSIX |
no |
GNU GPL
|
CSP |
[19] |
LR(1) |
C++ |
Separate |
Generated |
POSIX |
no |
Apache License 2.0
|
CSTools |
[20] |
LALR |
C# |
Mixed |
Generated |
.NET Framework |
no |
Proprietary
|
CUP |
[21] |
LALR |
Java |
Mixed |
External |
Java Virtual Machine |
no |
GNU GPL
|
DMS Software Reengineering Toolkit |
[22] |
GLR |
Parlanse |
Mixed |
Generated |
Microsoft Windows |
no |
Proprietary
|
DParser |
[23] |
Scannerless GLR |
C |
Mixed |
Generated |
POSIX |
no |
BSD
|
Dragon |
[24] |
LR(1), LALR |
C++, Java |
Separate |
Generated |
All |
no |
GNU GPL
|
Elkhound |
[25] |
GLR |
C++, OCaml |
Mixed |
External |
All |
no |
BSD
|
eli |
[26] |
LALR |
C |
Mixed |
Generated |
POSIX |
no |
GNU GPL, GNU LGPL
|
Essence |
[27] |
LR |
Scheme 48 |
Mixed |
External |
All |
no |
BSD
|
eyapp |
[28] |
LALR(1) |
Perl |
Mixed |
External |
All |
no |
Perl
|
Frown |
[29] |
LALR(k) |
Haskell 98 |
Mixed |
External |
All |
no |
GNU GPL
|
GDK |
[30] |
LALR(1), GLR |
C, Lex, Haskell, HTML, Java, Object Pascal, Yacc |
Mixed |
Generated |
POSIX |
No |
MIT
|
GOLD |
[31] |
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 |
[32] |
LALR |
C# |
Separate |
External |
Microsoft Windows |
yes |
Freeware
|
Grammatica |
[33] |
LL(k) |
C#, Java |
Separate |
Generated |
Java Virtual Machine |
no |
GNU LGPL
|
Happy |
[34] |
LALR, GLR |
Haskell |
Mixed |
External |
All |
no |
BSD
|
HiLexed |
[35] |
LL(k) |
Java |
Separate |
Internal |
Java Virtual Machine |
no |
GNU LGPL
|
Hyacc |
[36] |
LR(1) |
C |
Mixed |
External |
All |
no |
GNU GPL
|
jacc |
[37] |
LALR |
Java |
Mixed |
External |
Java Virtual Machine |
no |
BSD
|
JavaCC |
[38] |
LL(k) |
Java |
Mixed |
Generated |
Java Virtual Machine |
yes |
BSD
|
jay |
[39] |
LALR |
C#, Java |
Mixed |
None |
Java Virtual Machine |
no |
BSD
|
JetPAG |
[40] |
LL(k) |
C++ |
Mixed |
Generated |
All |
no |
GNU GPL
|
JS/CC |
[41] |
LALR(1) |
JavaScript, JScript, ECMAScript |
Mixed |
Internal |
All |
yes |
Artistic
|
Kelbt |
[42] |
Backtracking LALR(1) |
C++ |
Mixed |
Generated |
POSIX |
no |
GNU GPL
|
kmyacc |
[43] |
LALR(1) |
C, Java, Perl, JavaScript |
Mixed |
External |
All |
no |
GNU GPL
|
Lapg |
[44] |
LALR |
C, C++, C#, Java, JavaScript |
Mixed |
Generated |
Java Virtual Machine |
no |
GNU GPL
|
LEMON |
[45] |
LALR |
C |
Mixed |
External |
All |
no |
Public domain
|
Lime |
[46] |
LALR(1) |
PHP |
Mixed |
External |
All |
no |
GNU GPL
|
LISA |
[47] |
LR, LL, LALR, SLR |
Java |
Mixed |
Generated |
Java Virtual Machine |
yes |
Public Domain
|
LPG |
[48] |
Backtracking LALR(k) |
Java |
Mixed |
Generated |
Java Virtual Machine |
no |
EPL
|
LLgen |
[49] |
LL(1) |
C |
Mixed |
External |
POSIX |
no |
BSD
|
LLnextgen |
[50] |
LL(1) |
C |
Mixed |
External |
POSIX |
no |
GNU GPL
|
LRGen |
[51] |
LR(1) |
C++ |
Separate |
Generated |
Microsoft Windows |
no |
Proprietary
|
Menhir |
[52] |
LR(1) |
OCaml |
Mixed |
Generated |
All |
no |
QPL
|
Mini Parser Generator |
[53] |
? |
Python |
Mixed |
Generated |
All |
no |
GNU LGPL
|
ML-Yacc |
[54] |
LALR(1) |
ML |
Mixed |
External |
All |
no |
?
|
Monkey |
[55] |
LR(1) |
Java |
Separate |
Generated |
Java Virtual Machine |
no |
GNU GPL
|
More Than Parsing |
[56] |
LL(1) |
Java |
Separate |
Generated |
Java Virtual Machine |
no |
GNU GPL
|
MyL Programming Language |
[57] |
? |
C#, Java, JScript, Object Pascal,SQL |
Mixed |
Generated |
Microsoft Windows |
no |
Public domain
|
ocamlyacc |
[58] |
LALR(1) |
OCaml |
Mixed |
External |
All |
no |
QPL
|
olex |
[59] |
LL(1) |
C++ |
Mixed |
Generated |
All |
no |
GNU GPL
|
Parsec (parser) |
[60] |
GLR |
Haskell |
Mixed |
None |
All |
no |
BSD
|
Parse::Yapp |
[61] |
LALR(1) |
Perl |
Mixed |
External |
All |
no |
GNU GPL
|
Parser Objects |
? |
LL(k) |
Java |
Mixed |
? |
Java Virtual Machine |
no |
zlib
|
PLY |
[62] |
LALR(1) |
Python |
Mixed |
Generated |
All |
no |
GNU GPL
|
PRECC |
[63] |
LL(k) |
C |
Separate |
Generated |
MS-DOS, POSIX |
no |
GNU GPL
|
QLALR |
[64] |
LALR(1) |
C++ |
Mixed |
External |
All |
no |
GNU GPL
|
SableCC |
[65] |
LALR |
C, C++, C#, Java, OCaml, Python (programming language) |
Separate |
Generated |
All |
no |
GNU LGPL
|
SmaCC |
[66] |
LALR(1), LR(1) |
Smalltalk |
Mixed |
Internal |
All |
yes |
MIT
|
SLK |
[67] |
LL(k) |
C, C++, C#, Java |
Separate |
External |
All |
no |
Proprietary
|
SPARK |
[68] |
Earley |
Python |
Mixed |
External |
All |
no |
MIT
|
Spirit |
[69] |
LL(k) |
C++ |
Mixed |
Internal |
All |
no |
Boost
|
Styx |
[70] |
? |
C |
Mixed |
Generated |
? |
All |
GNU LGPL
|
Tap |
[71] |
LL(1) |
C++ |
Mixed |
Generated |
All |
no |
GNU GPL
|
TextTransformer |
[72] |
LL(k) |
C++ |
Mixed |
Generated |
Microsoft Windows |
yes |
Proprietary
|
Tom |
[73] |
GLR |
C |
Generated |
None |
All |
no |
Proprietary
|
TinyPG |
[74] |
LL(1) |
C#, Visual Basic |
? |
? |
Microsoft Windows |
yes |
CPOL 1.0
|
Toy Parser Generator |
[75] |
Recursive Descent |
Python |
Mixed |
Generated |
All |
no |
GNU LGPL
|
TP Yacc |
[76] |
LALR(1) |
Turbo Pascal |
Mixed |
External |
All |
yes |
GNU GPL
|
UltraGram |
[77] |
LALR, LR, GLR |
C++, C#, Java, Visual Basic .NET |
Separate |
Generated |
Microsoft Windows |
yes |
Proprietary
|
Yacc (AT&T) |
? |
LALR |
C |
Mixed |
External |
POSIX |
no |
Proprietary
|
Yacc++ |
[78] |
LR(k), LALR(k) |
C++, C# |
Mixed |
Generated or External |
All |
no |
Proprietary
|
Yapps |
[79] |
LL(1) |
Python |
Mixed |
Generated |
All |
no |
MIT
|
yecc |
[80] |
LALR(1) |
Erlang |
Separate |
Generated |
All |
no |
Erlang
|
Visual BNF |
[81] |
LR(1), LALR(1) |
C# |
Separate |
Generated |
.NET Framework |
yes |
Proprietary
|
Visual Parse++ |
[82] |
LALR |
C, C++, C#, Java |
Separate |
Generated |
Microsoft Windows |
yes |
Proprietary
|
YooParse |
[83] |
LR |
C++ |
Mixed |
External |
All |
no |
MIT
|
Whale |
[84] |
LR |
C++ |
Mixed |
External |
All |
no |
Proprietary
|
Wisent |
[85] |
LALR(1) |
C++, Java |
Mixed |
External |
Java Virtual Machine |
no |
GNU GPL
|
Product |
Website |
Parsing Algorithm |
Output Languages |
Grammar / Code |
Lexer |
Development Platform |
IDE |
License
|
Parsing Expression Grammars
Miscellaneous language classes
See also
External links