4e17e2047b
This one is for 0.9.9 using the 23 Feb 2008 sources, and is trivial to update to track a newer version.
19 lines
1,001 B
Text
19 lines
1,001 B
Text
The compiler is based on the original Portable C Compiler by S. C.
|
|
Johnson, written in the late 70's. Even though much of the compiler
|
|
has been rewritten, some of the basics still remain.
|
|
|
|
The intention is to write a C99 compiler while still keeping it
|
|
small, simple, fast and understandable. Think of it as if it shall
|
|
be able to compile and run on PDP11 (even if it may not happen in
|
|
reality). But with this in mind it becomes important to think
|
|
twice about what algorithms are used.
|
|
|
|
The compiler is conceptually structured in two parts; pass1 which
|
|
is language-dependent, does parsing, typechecking and build trees,
|
|
and pass2 which is mostly language-independent.
|
|
|
|
About 50% of the frontend code and 80% of the backend code has been
|
|
rewritten. Most stuff is written by Anders Magnusson, with the
|
|
exception of the data-flow analysis part and the SSA conversion
|
|
code which is written by Peter A Jonsson, and the Mips port that
|
|
were written as part of a project by undergraduate students at LTU.
|