tools
The Amsterdam Compiler Kit is an
integrated collection of programs designed to simplify the task
of producing portable (cross) compilers and interpreters. For each
language to be compiled, a program (called a front end) must be
written to translate the source program into a common intermediate
code.
ANDF (Architecture-Neutral Distribution
Format) is a technology that facilitates the development and distribution
of portable software on heterogeneous hardware and operating system
platforms.
This tool set allows to quickly develop
a processor specific ANSI C compiler, assembler, linker and compactor
for any microcontroller or DSP application.
The Boehm-Demers-Weiser conservative
garbage collector can be used as a garbage collecting replacement
for C malloc or C++ new. It is also used by a number of programming
language implementations that use C as intermediate code.
EDG Edison Design Group provides
compiler frontends for the OEM market.
Dynamic code modification system
EEL (Executable Editing Library)
provides abstractions that allow a tool to analyze and modify executable
programs without being concerned with particular instruction sets,
executable file formats, or consequences of deleting existing code
and adding foreign code.
Language Development Laboratory:
A system supporting language design, derivation of interpreters,
and test set generation.
Tree builder and tree walker
Memphis is a C/C++ extension for compiler writers and other programmers having to manipulate symbolic data. It is well suited for the definition of abstract syntax trees and the implementation of tree walkers.
A precompiler extends C/C++ by domain declarations that describe data types in a grammatical style. It also supports match statements that process these data using tree pattern matching.
is provided for compiler projects that are conducted in C or C++. It is well suited for the definition of abstract syntax trees and the implementation of tree walkers. A precompiler extends C/C++ by domain declarations that describe data types in a grammatical style. It also supports match statements that process these data using tree pattern matching
Memphis is a C/C++ extension for compiler writers and other programmers having to manipulate symbolic data. It is well suited for the definition of abstract syntax trees and the implementation of tree walkers.
A precompiler extends C/C++ by domain declarations that describe data types in a grammatical style. It also supports match statements that process these data using tree pattern matching.
is provided for compiler projects that are conducted in C or C++. It is well suited for the definition of abstract syntax trees and the implementation of tree walkers. A precompiler extends C/C++ by domain declarations that describe data types in a grammatical style. It also supports match statements that process these data using tree pattern matching
Meta-S is a visual grammar development
system, formerly known as PAISLEI, evolved from research in adaptive
parsing. It allows for the controlled development and debugging
of grammars written in either the Language for Pattern Matching
or A-BNF (Adaptive BNF), and for the automated creation of a C++
class that can be compiled once the grammar is completely satisfactory.
Meta-S grammars, since they can contain adaptive features, allow
for the development and debugging of context-sensitive grammars
without a single line of developer-supplied C++ code.
Maria is a reachability analyzer for
concurrent systems that uses Algebraic System Nets (a high-level
variant of Petri nets) as its modelling formalism. It has been written
in C++, and its is freely available under the terms of the GNU General
Public License.
Automated Compiler Performance Analysis
Tool which uses a QA approach of test coverage and isolation to
measure an optimizer.
Sage++ provides an object-oriented
toolkit for building program transformation systems for Fortran
77, Fortran 90, C and C++ languages.
Scorpion is a meta-environment tailored
to the production of software development environments. Scorpion
uses IDL, the Inteface Description Language, which allows graphs
structures containing attributed nodes to be described
SIC
Smalltalk-based Interactive Compiler-compiler, an educational
tool for visualizing compiling techniques.
The SUIF compiler is an infrastructure
designed to support collaborative research in optimizing and parallelizing
compilers. Independently developed compilation passes work together
by using a common intermediate format to represent programs.
Visualization of Compiler Graphs.
The VCG tool reads a textual and readable specification of a graph and visualizes the graph. If not all positions of nodes are fixed, the tool layouts the graph using several heuristics as reducing the number of crossings, minimizing the size of edges, centering of nodes.
The VCG tool reads a textual and readable specification of a graph and visualizes the graph. If not all positions of nodes are fixed, the tool layouts the graph using several heuristics as reducing the number of crossings, minimizing the size of edges, centering of nodes.