Main Page
From ELLCC
Contents |
[edit] Project Goals
ELLCC is a project to combine the Elkhound parser generator and its companion Elsa C/C++ compiler with the LLVM (Low Level Virtual Machine) compiler infrastructure. The primary emphasis of the ELLCC project is to create an easy to use multi-target cross compilation environment.
[edit] Near Term
- A functional C/C++ compiler based on Elsa.
- Generalized AST (Abstract Syntax Tree) to LLVM IR lowering support.
- Multi-target support (Alpha, ARM, C, C++, CellSPU, IA64, Mips, MSIL, Nios2, PIC16, PowerPC, Sparc, X86, X86_64).
- A C-only release (status).
[edit] Long Term
- A release with C++ support.
- Heterogeneous target support in one compilation.
- Language support for message passing/multi-threading.
[edit] Project Components
- ELLCC - The ELLCC compiler driver framework.
- PW - The preprocessor/configuration file library.
- Elsa - The C/C++ compiler.
- LLVM - The compiler back end.
- Elkhound - The parser generator.
- binutils - The GNU binutils package.
- newlib - The C standard library.
- Insight - The Insight debugger.
[edit] Project Status
- C compilation on the X86 architecture targeting Linux functional.
- Full program compilation and inter-module optimization supported.
- A new preprocessor almost complete.
