The structure of the HDC Compiler
The compiler implements the idea of compilation by transformation. It consists
of the following phases:
- Scanner and parser
- Desugaring
- List comprehension simplification
- Lambda lifting, let elimination
- Type checking
- Monomorphization
- Elimination of functional arguments
- Elimination of mutual recursion
- case elimination
- Generation of intermediate DAG code
- Tuple elimination
- Optimization cycle
- Inline expansion
- Rule-based DAG optimizations
- Size inference
- Abstract code generation
- Space-time mapping
- Code generation (C+MPI)
There exists also an interpreter to evaluate the code after different
stages of the compilation. A more detailed description of the compiler
and of the underlying ideas can be found in the technical report:
A compiler for HDC.
(C)opyright
by University of Passau,
Christoph Herrmann
16.10.1998