The structure of the HDC Compiler

The compiler implements the idea of compilation by transformation. It consists of the following phases:

  1. Scanner and parser
  2. Desugaring
  3. List comprehension simplification
  4. Lambda lifting, let elimination
  5. Type checking
  6. Monomorphization
  7. Elimination of functional arguments
  8. Elimination of mutual recursion
  9. case elimination
  10. Generation of intermediate DAG code
  11. Tuple elimination
  12. Optimization cycle
  13. Abstract code generation
  14. Space-time mapping
  15. 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