BEG - Code Generator Generation Tool for Creating Portable Compiler(s) |
Overview
BEG (back end generator) is a compiler code generator generation tool,
for creating portable compiler(s) (also called retargetable compiler).
It can also be used for compiler retargeting of existing native code compilers.
It generates high-quality
portable native code generation from target machine
descriptions and so makes compilers retargetable.
BEG is well suited for a wide range of native target machines and can be configured
to create relatively simple or advanced optimizing code generators.
BEG reads a desctiption of the specific intermediate code
and can so easily be adapted to new front ends; e.g. when using it for retargeting
exiting compilers.
It is a mature, proven tool
that has been used successfully both in industry and academia.
Applications
BEG was first (in 1989) used in the very fast GMD Modula-2 compiler Mocka. Code
generators were produced for Motorola 68020, SPARC, MIPS, Intel 386, Pentium,
Inmos T800, and PowerPC. This compiler is widely used in research and
education.
BEG was used to produce an industrial compiler family for C, Modula-2,
Fortran-77, and Pascal, for the SPARC processors.
BEG was also used for ARM, IA-32 (IA32, Pentium, x86, 386, 486, 586), and IA-64 (IA64, AMD64, EM64T) targets.
Availability
BEG is available as a basic package to generate non-optimizing compilers.
Optional modules for optimization are the global graph-coloring register allocator,
the instruction scheduler, and the dag matcher (for use with an SSA based
optimizer).
Normally we sell source object code licenses for a flat fee or per target
architecture.
Generated code generators can be distributed without additional royalties.
Please contact us for pricing information.
Please contact us for our demo version showing a retargetable compiler for a demo language.
|