LANCE - Retargetable C compiler

LANCE is a retargetable software platform for implementing C compilers. The C frontend compiles ANSI C code into a simple machine-independent intermediate representation (IR). The IR can be read, written, and manipulated via a comfortable C++ API. This allows to implement machine-independent IR optimizations as well as custom tools such as assembly code generators.

LANCE is intended to facilitate C compiler development for embedded processors. The system has been successfully used in academic and industrial compiler development projects for a variety of embedded processors, including Texas Instruments 'C5x and 'C6x, Philips Trimedia, Analog Devices 210x, AMS GEPARD DSP core, ARM7 RISC core, as well as several application-specific processors (ASIPs).

The LANCE V2.0 system offers the following main features:

Powerpoint presentation of LANCE

Example for the LANCE IR:

How to get LANCE

1) Restricted version (C frontend only)

Below, you may download a restricted version of LANCE V2.0, only including the ANSI C frontend (executable for SUN/Solaris, PC/Linux, or PC/Win2000 platforms).

LANCE V2.0 ANSI C frontend (SUN/Solaris 2.8 version) (last update: Nov 9, 2001)

LANCE V2.0 ANSI C frontend (PC/Linux 2.2.16 version) (last update: Nov 9, 2001)

LANCE V2.0 ANSI C frontend (PC/Win2000 version) (last update: June 7, 2001)

2) Research or evaluation license

The complete LANCE system can be obtained in two ways: For both variants, please send two signed copies of the Research License Agreement. You will then get the full LANCE platform, including C frontend, IR optimizations, analysis tools, and the C++ library, in the form of executables and object code.

3) Professional C compiler development service

ICD, a technology transfer company at Dortmund, offers development of software tools for embedded systems. Given a specification of a customer's embedded processor, ICD performs the entire retargeting of LANCE to generate an efficient, production-quality C compiler at highly competitive pricing. Optionally, also further custom tools like assemblers and instruction set simulators can be provided.

If you would like to receive more information on LANCE, please send an email.