Comparison of parser generators
Name Parsing algorithm Input grammar notation Output languages Grammar , code Lexer Development platform IDE License
ACCENT Earley Yacc variant C Mixed external All No Free , GNU GPL
APaGeD GLR , LALR ( 1 ) , LL ( k ) ? D Mixed generated All No Free , Artistic
Bison LALR ( 1 ) , LR ( 1 ) , IELR ( 1 ) , GLR Yacc C , C++ , Java , XML Mixed , except XML external All No Free , GNU GPL
DMS Software Reengineering Toolkit GLR ? Parlanse Mixed generated Windows No Proprietary
DParser Scannerless GLR ? C Mixed scannerless POSIX No Free , BSD
Dypgen Runtime-extensible GLR ? OCaml Mixed generated All No Free , CeCILL -B
E3 Earley ? OCaml Mixed external , or scannerless All No ?
Elkhound GLR ? C++ , OCaml Mixed external All No Free , BSD
eu.h8me.Parsing GLR ? N/A ( state machine is runtime generated ) Separate external .NET Framework No Free , BSD
GDK LALR ( 1 ) , GLR ? C , Lex , Haskell , HTML , Java , Object Pascal , Yacc Mixed generated POSIX No Free , MIT
Happy LALR , GLR ? Haskell Mixed external All No Free , BSD
Hime Parser Generator GLR ? C # , Java , Rust Separate generated .NET Framework , Java virtual machine No Free , GNU LGPL
IronText Library LALR ( 1 ) , GLR C # C # Mixed generated or external .NET Framework No Free , Apache 2.0
Jison LALR ( 1 ) , LR ( 0 ) , SLR ( 1 ) Yacc JavaScript , C # , PHP Mixed generated All No Free , MIT
Syntax LALR ( 1 ) , LR ( 0 ) , SLR ( 1 ) CLR ( 1 ) LL ( 1 ) JSON / Yacc JavaScript , Python , PHP , Ruby , C # , Rust , Java Mixed generated All No Free , MIT
Laja Scannerless , two phase Laja Java Separate scannerless All No Free , GNU GPL
ModelCC Earley Annotated class model Java Generated generated All No Free , BSD
parglare Scannerless LR/GLR BNF-like Python interpreted , automata run-time generated Mixed scannerless All No Free , MIT
P1 Combinators BNF-like OCaml Mixed external , or scannerless All No ?
P3 Earley-combinators BNF-like OCaml Mixed external , or scannerless All No ?
General context-free , conjunctive , or boolean languages
This table compares parser generator languages with a general context-free grammar , a conjunctive grammar , or a boolean grammar .
This is a list of notable lexer generators and parser generators for various language classes.