-
Notifications
You must be signed in to change notification settings - Fork 4
Architecture
wichtounet edited this page Nov 26, 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 separated in three 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 middle generates the basic blocks, performs optimizations on the MTAC representation, performs some early register allocations and then pass the MTAC program to the back end.
- The back end performs optimizations on the LTAC 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.
Ideally, the LTAC representation should be more target-independent. And thus, the LTAC Optimizations should be made by the middle end. The back-end would only be made of the code generators and possibly some processor-specific optimizations.