summaryrefslogtreecommitdiff
path: root/lang/pcc/DESCR
blob: c76f9e8fcb8ad1d7ec34e5b9c21e2487fc0a5ce8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.