compiler-compilers
Accent is a compiler compiler that can
be used for all grammars without any restriction, no error-prone
adaptation of the specification to a particular parsing technique
is required. Accent is the first Earley parser generator along the
lines of Yacc, it also cooperates with Lex. In addition, Accent
supports the Extended Backus Naur Form and both, inherited and synthesized
attributes.
Aflex and Ayacc are similar to the Unix
tools lex and yacc, but they are written in Ada and generate Ada
output. They were developed by the Arcadia Project at the University
of California, Irvine. Aflex is based on the tool 'flex' written
by Vern Paxson. These tools are copyrighted, but are freely redistributable.
A freeware system written in Prolog by
Bob Carpenter, and Gerald Penn integrates phrase structure parsing,
semantic-head-driven generation and constraint logic programming
with typed feature structures as terms.
The Attribute-Logic Engine integrates
phrase structure parsing and constraint logic programming with typed
feature structures as terms.
AnaGram runs on Win32 platforms. AnaGram
generates ANSI compatible platform independent C or C++ code. No
runtime libraries are required.
LL(k) and LL(*) compiler generator
Cocktail is a set of program generators
or compiler construction tools for nearly all phases of a compiler.
COCOM also known as Russian armoury is a compiler writer's toolkit
that includes the MSTA parser generator which generates LR(k) and
LALR(k) parsers using a modified DeRemer algorithm. The author is
working on a version with Tomita-style backtracking.
Coco/R generates recursive descent
parsers and their associated scanners from attributed grammars.
Informations about COCO/R
Version of COCO/R that produces Java
scanner and parser from ATG file.
A compiler generator for Delphi that
was developed from a variant of Coco.
The CoSy product is a new flexible
compiler development system for languages like C and Java, enabling
architecture and compiler developers to generate and reconfigure
efficient and robust compilers quickly for their existing and future
cores.
The DSP release of CoSy allows the generation of efficient DSP-C compilers that fully support dedicated hardware DSP features like fixed point data types and multiple memories.
The DSP release of CoSy allows the generation of efficient DSP-C compilers that fully support dedicated hardware DSP features like fixed point data types and multiple memories.
Decription: DCG, the Delphi Compiler
Generator is an early stage tool for creating lexer and parser classes
for Borland Delphi. DCG is a port of TPLex and TPYacc (the Pascal
translations of Lex and Yacc done by Albert Graef) for Delphi plus
a nice UI to allow editing the template files and compiling the
classes and an associated Delphi project instantly.
Generalized compiler technology used
for custom automated analysis and/or modification of large scale
software systems in many languages (C, C++, COBOL, Java, Fortran,
SQL, XML, many more). Handles millions of lines, thousands of files,
in mixed languages if needed. Provides composable parsing, prettyprinting,
attribute evaluation, and source-to-source program transformation
capabilities. Useful for code analysis, redocumentation, code generation,
migration.
A compiler compiler based on Extended Affix Grammars.
Eli offers solutions for most of
the tasks that must be carried out to implement a language. They
range from structural analysis (solved by tools analogous to LEX
and YACC) through analysis of names, types and values, to storage
of translation data structures and production of the target text.
Gentle covers the full spectrum of
compiler construction. It supports language recognition, definition
of abstract syntax trees, construction of tree walkers based on
pattern matching, smart traversal, simple unparsing for source-to-source
translation, and optimal code selection for microprocessors.
LISA generates table driven lexical
analysers and LL(1) syntax analysers from regular expressions and
BNF. LISA supports Kennedy-Warren and Katayama attribute evaluators.
An LALR parser generator, lexer generator, symbol-table builder, abstract-syntax-tree
construction and intermediate code emitter, in short, a compiler front-end generator.
Based on the new powerful TBNF grammar notation, less coding required than other systems.
Lex compatible scanner generator and Yacc compatible parser generator for PC's.
The x86 Open64 compiler system is a high performance, production quality code generation tool designed for high performance parallel computing workloads. The x86 Open64 environment provides the developer the essential choices when building and optimizing C, C++, and Fortran applications targeting 32-bit and 64-bit Linux platforms. The x86 Open64 compiler system offers a high level of advanced optimizations, multi-threading, and processor support that includes global optimization, vectorization, interprocedural analysis, feedback directed optimizations, loop transformations, and code generation which extracts the optimal performance from each x86 processor core.
The x86 Open64 Compiler Suite simplifies and accelerates development and tuning for x86, AMD64 (AMD® x86-64 Architecture), and Intel64 (Intel® x86-64 Architecture) applications. The x86 Open64 compilers create a strong foundation for building robust, high performance parallel code through MPI, OpenMP®, and auto-parallelization along with highly optimized libraries*.
* See Release Notes regarding parallel code generation
The x86 Open64 Compiler Suite simplifies and accelerates development and tuning for x86, AMD64 (AMD® x86-64 Architecture), and Intel64 (Intel® x86-64 Architecture) applications. The x86 Open64 compilers create a strong foundation for building robust, high performance parallel code through MPI, OpenMP®, and auto-parallelization along with highly optimized libraries*.
* See Release Notes regarding parallel code generation
The Purdue Compiler Construction
Tool Set (PCCTS) consists of a parser generator (ANTLR), a tightly
integrated lexer (DLG) and a related source-to-source translator
(SORCERER). ANTLR is a predicated LL(k) parser generator.
PCCTS is the Purdue Compiler Construction
Tool Set, so named because it began as a project in the School of
Electrical Engineering at Purdue University. Several releases of
the tools have been made publically available; the current version
is 1.20. PCCTS consists of two tools, ANTLR (Another Tool for Language
Recognition) and DLG (DFA-based Lexical analyzer Generator), assorted
support files, sample Pascal and C grammars, and full source code.
ANTLR is a functional equivalent of YACC (Yet Another Compiler Compiler),
which is distributed with most Unix platforms. Both tools generate
parsers from a BNF-like grammar description. Similarities and differences
are covered under a later section. DLG is a functional equivalent
of LEX (Anyone know if this is an acronym?), which is also distributed
with most Unix platforms. These tools generate lexical analyzers
(scanners) from a set of regular-expression rules. Another tool
which is commonly associated with PCCTS is sorcerer, which is a
tree parser generator that uses a description grammar similar to
that of ANTLR to build tree-parsers (tree walkers).
A PCCTS Tutorial
A PCCTS Tutorial
PRECC eXtended is an infinite-lookahead
compiler compiler for context dependent grammars. Specification
scripts are in very EBNF with inherited and synthetic attributes
allowed.
Ragel compiles finite state machines
from regular languages into runnable C code. It allows you to insert
function calls at any point in your regular language, and to control
the non-determinism in the resulting machines. It understands concatenation,
union (the "or" operator), kleene star, subtraction, and
intersection, as well as some helpers like "!", "?"
and "+". Ragel's finite state machines are closed under
all of its operators. This property allows for arbitrary regular
lanuages to be described. It can be used to create a parser for
any language that is regular.
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.
ScanGen, LLGen, LARLGen are scannner
and LL(1) and LALR(1) parser generators introduced in "Crafting
a Compiler'' by Fischer & LeBlanc.
Visual Parse++ provides a visual
interface which lets any programmer learn and utilize lexing and
parsing technology interactively.
Yacc manual
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.
OO Compiler Compiler written entirely in Eiffel.