 |
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 |
|
 |