Catalog of Compiler Construction Tools

Lexer and Parser Generators

Compiler
Construction
Kits

Lexer and Parser
Generators

Attribute Grammar
Systems

Transformation
Tools

Backend
Generators

Program Analysis
and Optimisation

Environment
Generators

Tools, Frameworks,
Infrastructure

Compiler
Construction
with Java

ACCENT
A compiler compiler that does not impose any restrictions on grammars: no adaption to a specific parsing technique such as LL(k) or LALR(k) is required. Supports Extended BNF.
More ...

AFLEX & AYACC
Aflex and Ayacc are similar to the Unix tools Lex and Yacc, but they are written in Ada and generate Ada output.
ftp://liege.ics.uci.edu/pub/irus/software/aflex-ayacc/

ALE
The Attribute-Logic Engine integrates phrase structure parsing and constraint logic programming with typed feature structures as terms.
More ...

ANAGRAM
LALR parser generator with optional automatic resynchronization after syntax errors. Separate lexical scanners are usually unnecessary.
More ...

BISON
GNU's free version of the parser generator Yacc
More ...

BISON/EIFFEL
The Bison parser generator with an option for Eiffel output.
More ...

BTYACC
BTYACC is a modified version of yacc that supports automatic backtracking and semantic disambiguation to parse ambiguous grammars, as well as syntactic sugar for inherited attributes.
More ...

BYACC
Berkeley Yacc is a public domain LALR(1) parser generator. It has been made as compatible as possible with AT&T Yacc.
ftp://ftp.cs.berkeley.edu/ucb/4bsd/byacc.tar.Z

COGENCEE
A compiler generator for Delphi that was developed from a variant of Coco
More ...

COCO
Coco/R generates recursive descent parsers and their associated scanners from attributed grammars.
More ...

DEPOT4
A top-down parser generator that supports specifications in a style similar to syntax-directed translation schemes. The specification language is based on EBNF. Depot4 is intended for use by non-experts implementing domain-specific languages.
More ...

EAG
A compiler compiler based on Extended Affix Grammars
ftp://hades.cs.kun.nl/pub/eag/

FLEX
GNU's free version of the scanner generator Lex
More ...

GOBO EIFFEL LEX & YACC
Lex and Yacc implementations for Eiffel.
More ...

HOLUB
The Software for Allen Holub's Compiler Design in C'' (LeX, occs, LLama, and the compiler in visible-parser form).
More ...

LEX
AT&T Lex is the classical scanner generator that comes with Unix
More ...

LLGEN
LLgen is 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.
More ...

LISA
LISA generates table driven lexical analysers and LL(1) syntax analysers from regular expressions and BNF. LISA supports Kennedy-Warren and Katayama attribute evaluators.
More ...

MANGO
Mango is a parser generator that is included in the Self system. Mango parsers automatically build parse trees rather than merely provide hooks for calling low-level reduce actions during parsing.
More ...

MUSKOX
MUSKOX annotates classes with EBNF LR(K) grammars. It features grammar inheritance and redefinition of rules. It also supports multiple parsers, recording/replay of trace logs, and HTML pretty-printing.
More ...

MKS LEX & YACC
Lex compatible scanner generator and Yacc compatible parser generator for PC's
More ...

NEWYACC
NewYacc is a front-end to yacc. It provides a superset of yacc with translations attached to grammars in addition to actions. Translations are similar to simple syntax directed translation schemas in the sense that they will reorder, select, and augment, and echo the input character stream by appropriately traversing the completed parse tree.
ftp://flubber.cs.umd.edu/src/

PCYACC
PCYACC is primarily used to develop embedded languages in third party products using languages such as SQL or SGML. It includes language engines for most common languages in source code form.
More ...

PRECC
PRECC eXtended is an infinite-lookahead compiler compiler for context dependent grammars. Specification scripts are in very EBNF with inherited and synthetic attributes allowed.
More ...

PROGRAMMAR
The ProGrammar Developer's Toolkit is an integrated suite of tools and utilities for building, testing and debugging parsers. Its features include an object-oriented grammar definition language, visual development environment, and interactive debugging with stepping and breakpoints.
More ...

RDP
RDP compiles attributed LL(1) grammars decorated with C-language semantic actions into recursive descent compilers.
More ...

RE2C
re2c is a tool for generating C-based recognizers from regular expressions. The generated code is not tied to any particular input model.
ftp://csg.uwaterloo.ca/pub/peter/re2c.0.5.tar.gz

S/SL
S/SL is a programming language for constructing compilers. It incorporates sequences, repetitions and selections of actions (statements); input, matching and output of tokens; output of error signals; subprograms (called rules); and invocation of semantic operations.
ftp://ftp.cs.toronto.edu/pub/ssl.tar.Z

SCANGEN, LLGEN, LALRGEN
ScanGen, LLGen, LARLGen are scannner and LL(1) and LALR(1) parser generators introduced in Crafting a Compiler'' by Fischer & LeBlanc
ftp://ftp.csc.ncsu.edu/pub/compilers/crafting_compiler/tools

TP LEX AND YACC
Scanner and Parser Generator for Turbo Pascal
More ...

TROOPER
Reusable OO Parser for Eiffel Reengineering written entirely in Eiffel
More ...

VISUALPARSE++
Visual Parse++ provides a visual interface which lets any programmer learn and utilize lexing and parsing technology interactively.
More ...

YACC
AT&T Yacc is the classical parser generator that comes with Unix
More ...

YACC++
Not just a set of C++ wrappers around lex and yacc output, Yacc++ and the Language Objects Library is an O-O rewrite of lex and yacc. Features include grammar classes with inheritance, regular expressions efficiently integrated into LR parsing, and solutions to include files, substring keywords, nested comments, and more.
More ...

YOOC
OO Compiler Compiler written entirely in Eiffel
More ...

ZLEX
Zlex is a Lex compatible scanner generator that offers 16-bit character support and other additional features.
More ...

ZYACC
Zyacc is a largely Yacc-compatible parser generator, that offers inherited attributes, semantic tests, and other additional features.
More ...