Skip to content
Baptiste Wicht edited this page Oct 1, 2012 · 8 revisions

The architecture of eddic is made to support several source programming languages and several target platforms as well.

For that, the compiler is separate in two parts:

  • The front end that parse the source code, perform semantical analysis on it and generates an intermediate representation that is understandable by the back end
  • The back end performs optimizations on the program and generates machine code for the target.

There are one front end for the EDDI programming language and one back-end for machine code generation. The back-end use different code generators depending if the user want 32 or 64 bits.

Further reading

The EDDI front end

TODO

The design is not perfect. The middle-end should be better separated to perform optimizations and then pass the intermediate to the back-end.

Ideally, the Low-Level Three-Address-Code representation should be more target-independent.

Clone this wiki locally