LANCE Retargetable C Compiler

LANCE is a software platform for fast implementation of C compilers. It includes a C frontend, a set of code optimization passes on the intermediate representation (IR) level, a C++ library for IR analysis and manipulation, and a backend interface for assembly code generation.

LANCE is mainly intended for C compiler development for embedded processors. The system has been applied both in academic and industrial compiler development projects for a variety of different target architectures.

Main features:

ANSI C frontend (C89)
Extensible, modular compiler architecture
Executable three address code IR
Library of standard ("Dragon Book style") IR optimizations
C++ API for IR access and analysis
Visualization of control and data flow graphs
Backend interface for code selection
Code instrumentation interface
Free licensing for research purposes