Lexer and Parser Generators (59)

Categories:

See Also:
Regular Links:

http://epaperpress.com/lexandyacc/index.html
A Compact Guide to Lex and Yacc Open in a new browser window
   Tutorial in Lex and Yacc, tools that simplify compiler construction.
   http://epaperpress.com/lexandyacc/index.html
http://www.parsifalsoft.com/
AnaGram Open in a new browser window
   Provides a powerful grammar notation, special features for maintenance of highly configurable parsers, visual parsing and unique interactive debugging tools, supporting thread-safe parsers. The program produces C/C++ parsers for use on any platform and ru
   http://www.parsifalsoft.com/
ftp://lnx1.hrz.tu-darmstadt.de/pub/programming/languages/C++/tools/flex++bison++/
Bison++ and Flex++ Open in a new browser window
   A retargeting of bison-1 and flex 2.3 to C++ capable of generating classes. As with Bison and Flex these two tools are independent but designed for mutual compatibility. Examples are provided to help in getting started.
   ftp://lnx1.hrz.tu-darmstadt.de/pub/programming/languages/C++/tools/flex++bison++/
http://www.vendian.org/mncharity/dir3/btyacc/
BtYacc patches: BackTracking Yacc Open in a new browser window
   The version of BtYacc on siber.com suffers from a few minor, but annoying bugs. This is a page with patches.
   http://www.vendian.org/mncharity/dir3/btyacc/
http://www.siber.com/btyacc/
BtYacc: BackTracking Yacc Open in a new browser window
   A modified version of yacc that supports automatic backtracking and semantic disambiguation to parse ambiguous grammars. It also has syntactic sugar for inherited attributes.
   http://www.siber.com/btyacc/
http://www.clearjump.com/products/clearparse/
ClearParse Open in a new browser window
   A small, flexible parsing engine with practically unlimited backtracking capability. [Commercial]
   http://www.clearjump.com/products/clearparse/
http://www.ssw.uni-linz.ac.at/Research/Projects/Compiler.html
Coco/R compiler generator Open in a new browser window
   Coco/R combines the functionality of the well-known UNIX tools lex and yacc, to form an extremely easy to use compiler generator that generates recursive descent parsers, their associated scanners, and (in some versions) a driver program, from attributed
   http://www.ssw.uni-linz.ac.at/Research/Projects/Compiler.html
http://cppcc.sourceforge.net/
CppCC (C++ Compiler Compiler) Open in a new browser window
   a scanner+LL(k = 1..Inf) parser generator for C++. Allows easy top-down description of grammars in an intuitive and extensible manner. Good generated code speed (as comared to GNU Flex/Bison). [Open source, GPL]
   http://cppcc.sourceforge.net/
http://www.math.tu-dresden.de/wir/depot4/
Depot4 homepage Open in a new browser window
   A simple to use translator generator.
   http://www.math.tu-dresden.de/wir/depot4/
http://www.cs.ru.nl/~kees/eag/
EAG Open in a new browser window
   A compiler compiler that uses the Extended Affix Grammar (EAG) formalism which describes both the context free and context sensitive syntax of language. The compiler generates either a recognizer or a transducer or a translator or a syntax-directed editor
   http://www.cs.ru.nl/~kees/eag/
http://www.cs.berkeley.edu/~smcpeak/elkhound/
Elkhound: A GLR Parser Generator Open in a new browser window
   Almost as fast as Bison (for deterministic portions of input), but can parse any context-free grammar. [Open source, BSD]
   http://www.cs.berkeley.edu/~smcpeak/elkhound/
http://www.gnu.org/software/bison/
GNU Bison Open in a new browser window
   A general-purpose parser generator that converts a grammar description for an LALR context-free grammar into a C program to parse that grammar. [Open source, GPL]
   http://www.gnu.org/software/bison/
http://www.gnu.org/software/flex/
GNU Flex Open in a new browser window
   A fast lexical analyser generator. It is a tool for generating programs that perform pattern-matching on text. There are many applications for Flex, including writing compilers in conjunction with GNU Bison. [Open source, GPL]
   http://www.gnu.org/software/flex/
http://www.devincook.com/goldparser/
GOLD Parser Open in a new browser window
   A free parser generator. Unlike common compiler-compilers, the GOLD Parser does not require you to embed your grammar directly into your source code. Instead, the Builder analyzes the grammar description and saves the parse tables to a separate file. This
   http://www.devincook.com/goldparser/
http://gnuwin32.sourceforge.net/
GnuWin32 Open in a new browser window
   Various GNU tools and software for Win32 including ports of bison, byacc, and flex
   http://gnuwin32.sourceforge.net/
http://www.gradsoft.com.ua/eng/Products/YaYacc/yayacc.html
GradSoft YaYacc Open in a new browser window
   Yet another Yacc, which accept yacc grammar nad produce C++ template-based reentrant code. [Open Source, BSD license]
   http://www.gradsoft.com.ua/eng/Products/YaYacc/yayacc.html
http://grammatica.percederberg.net/
Grammatica Open in a new browser window
   Grammatica is a free LL(k) parser generator (compiler compiler) for C# and Java. Support for automatic error recovery, and instant parsing is available.
   http://grammatica.percederberg.net/
http://haskell.cs.yale.edu/happy/
Happy Open in a new browser window
   A parser generator for Haskell.
   http://haskell.cs.yale.edu/happy/
http://hapy.sourceforge.net/
Hapy Open in a new browser window
   A runtime parser generator library. It generates parsers from BNF-like language grammars. Parsing scripting languages and communication protocol messages are typical use cases. [Public domain]
   http://hapy.sourceforge.net/
http://www.iwriteiam.nl/MM.html
IParse Open in a new browser window
   An interpretting parser, meaning that it accept on the input a grammar and a source file which should be parsed according to that grammar, and produces an abstract program tree from this. Very compact implementation.
   http://www.iwriteiam.nl/MM.html
http://sourceforge.net/projects/jb2csharp/
JB2CSharp Open in a new browser window
   A port of the Java-Bison/Flex software developed by the Serl project at the University of Colorado, Boulder. Parsers and lexers will be able to use C# actions. The open source .NET project Mono has requested the port, and here it is. [Open source, BSD Li
   http://sourceforge.net/projects/jb2csharp/
http://jscc.jmksf.com
JS/CC Parser Generator Open in a new browser window
   JS/CC is a LALR(1) parser and lexer generator for JavaScript/ECMAScript which is entirely written in JavaScript.
   http://jscc.jmksf.com
http://www.cs.queensu.ca/~thurston/kelbt/
Kelbt: Backtracking LR Parsing Open in a new browser window
   Kelbt generates backtracking LALR(1) parsers. Whereas standard LALR(1) parser generators emit an error upon encountering a conflict in the parse tables, Kelbt forges onward, generating parsers which handle conflicts by backtracking at runtime. As Kelbt is
   http://www.cs.queensu.ca/~thurston/kelbt/
http://www.ersa-france.com/lloop/
LLOOP Open in a new browser window
   LLOOP generates C++ LL(1) parsers from EBNF grammars and allows a tight integration with object-oriented applications, based on a symbol/class mapping. The generated code can also perform the reverse operation (expanding), whereby the original input can b
   http://www.ersa-france.com/lloop/
http://www.cs.vu.nl/~ceriel/LLgen.html
LLgen parser generator Open in a new browser window
   A tool for generating an efficient recursive descent parser from an ELL(1) grammar. The grammar may be ambiguous or more general than ELL(1): there are both static and dynamic facilities to resolve the ambiguities.
   http://www.cs.vu.nl/~ceriel/LLgen.html
http://lapg.sourceforge.net/
Lapg Open in a new browser window
   The combined lexical analyzer and parser generator, which converts a description for a context-free LALR grammar into source file to parse the grammar. [Open source, GPL]
   http://lapg.sourceforge.net/
http://www.17slon.com/gp/gp/tply.htm
Lex and Yacc for Delphi 3 Open in a new browser window
   Port of lex and yacc to Delphi 3. Base at port to Turbo Pascal.
   http://www.17slon.com/gp/gp/tply.htm
http://www.monmouth.com/~wstreett/lex-yacc/lex-yacc.html
Lex/YACC (actually Flex and Bison) Open in a new browser window
   Flex/Bison ports to Win32, includes MAN pages, and email list for peer to peer support.
   http://www.monmouth.com/~wstreett/lex-yacc/lex-yacc.html
http://www.thothic.com
Meta-S Adaptive Context-Sensitive Parsing Open in a new browser window
   The Meta-S Type-0 adaptive context-sensitive parsing calculus and the Grammar Forge IDE for developing and testing Meta-S grammars.
   http://www.thothic.com
http://www.inf.uos.de/alumni/bernd/oops/
Oops Open in a new browser window
   An object-oriented parser generator implemented in Java.
   http://www.inf.uos.de/alumni/bernd/oops/
http://www.polhode.com/pccts.html
PCCTS Resources and Open in a new browser window
   The primary source of maintenance releases for the PCCTS compiler construction tool set. PCCTS is an LL(k) recursive descent parser generator with semantic predicates and backtracking. It was developed by T.J. Parr.
   http://www.polhode.com/pccts.html
http://www.afm.sbu.ac.uk/precc/
PRECC - A PREttier Compiler-Compiler Open in a new browser window
   an infinite-lookahead parser generator for context dependent grammars which generates ANSI C code. Specification scripts are in very extended BNF with inherited and synthetic attributes allowed. Scripts can be compiled in separate modules and later linked
   http://www.afm.sbu.ac.uk/precc/
http://www.dmitry-kazakov.de/match/match.htm
Pattern matching Open in a new browser window
   Pattern matching in syntax analysis as influenced by SNOBOL4. The library distributed under the GNU Library General Public License provides for recursive patterns, various iterators and user-defined patterns along with bindings for Ada, K&R C/ANSI C/C
   http://www.dmitry-kazakov.de/match/match.htm
http://www.programmar.com/main.shtml
ProGrammar Open in a new browser window
   object-oriented grammar definition language and integrated suite of visual tools that assist in building, testing and debugging parsers.
   http://www.programmar.com/main.shtml
http://www.cs.queensu.ca/home/thurston/ragel/
Ragel State Machine Compiler Open in a new browser window
   Compiles FSMs from regular languages into executable C, C++, Objective-C or D code. The GPL'ed software can be used to create a parser for any language that is regular. Examples include parsing Unix mailbox files and general lexing tasks.
   http://www.cs.queensu.ca/home/thurston/ragel/
http://www.is.titech.ac.jp/~sassa/lab/rie-e.html
Rie Open in a new browser window
   This compiler frontend generation system based on an ECLR-attributed grammar is open source, written in C and may be regarded as an extension of Yacc/Bison.
   http://www.is.titech.ac.jp/~sassa/lab/rie-e.html
http://homepages.cwi.nl/~daybuild/daily-docs/sglr/
SGLR: a Scannerless Generalized LR parser Open in a new browser window
   Interprets parse tables generated from an SDF2 syntax definition. Scannerless means that no scanner is used to tokenize the input stream; the parse table contains enough information for both the lexical and the context-free syntax. [Open source, LGPL]
   http://homepages.cwi.nl/~daybuild/daily-docs/sglr/
http://developer.berlios.de/projects/soul/
Soul Open in a new browser window
   An object oriented recursive descent parser generator framework implemented using C++ operator overloading techniques. It is inspired by Spirit, but use only few template classes thus allowing more flexibility and fastest compilation time. [Open source, L
   http://developer.berlios.de/projects/soul/
http://spirit.sourceforge.net/
Spirit C++ Parser Framework Open in a new browser window
   An object oriented recursive descent parser generator framework implemented using template meta-programming techniques. Expression templates allow to approximate the syntax of Extended Backus Normal Form (EBNF) completely in C++.
   http://spirit.sourceforge.net/
http://www.speculate.de/styx/
Styx Open in a new browser window
   A scanner and lalr(1) parser generator. It has features like automatic derivation of depth grammar, production of the abstract syntax tree including its C interface and preserves full source information to faciliate source-source translation.
   http://www.speculate.de/styx/
http://texttransformer.com
TextTransformer Open in a new browser window
   A parsergenerator, a simple c++ interpreter and an interactive debugger combined to a visual development environment, which analyzes, evaluates, converts texts immediately.
   http://texttransformer.com
http://www.hwaci.com/sw/lemon/
The LEMON Parser Generator Open in a new browser window
   Very simple LALR(1) open-source parser generator. Outputs C, claims to produce faster parsers than yacc/bison.
   http://www.hwaci.com/sw/lemon/
http://dinosaur.compilertools.net/
The LEX & YACC Page Open in a new browser window
   All about Lex, Yacc, Flex, and Bison: Overview, Online Documentation, Papers, Tools, Pointers
   http://dinosaur.compilertools.net/
http://www.dcs.rhbnc.ac.uk/research/languages/projects/rdp.html
The RDP parser generator Open in a new browser window
   A parser generator which compiles attributed LL(1) grammars decorated with C semantic actions into recursive descent compilers.
   http://www.dcs.rhbnc.ac.uk/research/languages/projects/rdp.html
http://home.earthlink.net/~slkpg/
The SLK Parser Generator Open in a new browser window
   Produces compact and efficient table-driven LL(k) parsers in C, C++, C#, and Java. Features include automated grammar transformations, clean EBNF syntax, backtracking, new LL(k) algorithms, and an uncomplicated API.
   http://home.earthlink.net/~slkpg/
http://www-rocq.inria.fr/oscar/www/syntax/syntax-eng.htm
The SYNTAX System Open in a new browser window
   A set of tools for the design and implementation of the front-end part of translators. The SYNTAX tools allow the generation of analyzers and the compilation of source texts with those analyzers. This has all the capabilities of lex and yacc plus some add
   http://www-rocq.inria.fr/oscar/www/syntax/syntax-eng.htm
http://www.musikwissenschaft.uni-mainz.de/~ag/tply/
Turbo Pascal Lex/Yacc Open in a new browser window
   a compiler generator for Turbo Pascal and compatibles. The package contains two programs, TP Lex and Yacc, which are approximately compatible with the UNIX utilities Lex and Yacc, but are written in and produce code for the Turbo Pascal programming la
   http://www.musikwissenschaft.uni-mainz.de/~ag/tply/
http://www.scienzemfn.unisa.it/vldesk/
VLDesk (Visual Language Desk) Open in a new browser window
   A powerful tool for the automatic generation of Visual Programming Environments. Its new reworked version of Visual Language Compiler-Compiler (VLCC).
   http://www.scienzemfn.unisa.it/vldesk/
http://www.intralogic.eu
Visual BNF Open in a new browser window
   An LR(1) parser by Intralogic for Backus-Naur form and generating parse tables DLL's in .NET assembly.
   http://www.intralogic.eu
http://www.sand-stone.com/
Visual Parse++ 4.0 Open in a new browser window
   The tool allows visual design of lexers and parsers for use in C++, Java, Delphi and Visual Basic applications under UNIX, Linux and Windows/NT. New to version 4.0 is support for XML, XPath, XSLT, XPointer, XQL, DTD and Namespaces.
   http://www.sand-stone.com/
http://www.thinkage.ca/english/products/product-yay.shtml
YAY - Yet Another YACC Open in a new browser window
   Closed-source, but free LALR(2) parser generator, accepts yacc input with some extensions.
   http://www.thinkage.ca/english/products/product-yay.shtml
http://world.std.com/~compres/
Yacc++(R) and the Language Objects Library Open in a new browser window
   Object-oriented rewrite of Lex and Yacc for C++, with automatic AST class generation, grammar inheritance, minimal state ELR(1) and technology. (Commercial package)
   http://world.std.com/~compres/
http://yoolex.sourceforge.net/
YooLex (Yet another Object-Oriented Lex) Open in a new browser window
   A Flex like scanner code generator, but it generates C++ scanner classes that are re-entrant and compatible with the newer standard of C++/STL. Multiple scanner classes and instances can co-exist in a program without tweaking of macros.
   http://yoolex.sourceforge.net/
http://www.cs.princeton.edu/software/iburg/
iburg, A Tree Parser Generator Open in a new browser window
   Generates fast tree parsers for cost-augmented tree grammars. A variant of iburg is used in the code generators for lcc.
   http://www.cs.princeton.edu/software/iburg/
http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/
jay Open in a new browser window
   A version of yacc for Java rather than C. Documentation in German.
   http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/
http://www.languagesemantics.com/index.html
language semantics Open in a new browser window
   GUI based call tree, source code analyzers for any C compiler and also generates HTML reports.
   http://www.languagesemantics.com/index.html
http://www.inf.uos.de/alumni/bernd/oolex/
oolex (object-oriented lexer) Open in a new browser window
   Approaches lexical analysis by basing the scanner strictly on the object-oriented paradigm. It can be extended without access to the source code in that symbol recognizers can be derived by inheritance and an executing scanner can be reconfigured for dif
   http://www.inf.uos.de/alumni/bernd/oolex/
http://re2c.org
re2c lexer generator Open in a new browser window
   re2c is a tool for writing fast and flexible lexers. A re2c generated scanner is usually 2-3 times faster than a flex based scanner, and its input model is much more flexible.
   http://re2c.org

Last Updated: 2011-12-09 22:13:23