Compiler Reference Material
Although this course is certainly not about compilers, I'm a big
believer in the concept that you shouldn't really be using a
tool until you have a basic understanding of how it works.
Toward that goal, we discussed a bit about how compilers are
built in class. There is no project associated with this
material.
-
EE468 Course Notes:
Introduction To Compilers And Translation Engineering (PDF)
-
These course notes were written by H. Dietz and used for the
undergraduate compiler course at Purdue University (and about 30
other universities). We're not directly using them in EE480,
but they make an easy-to-understand reference for how a simple
compiler might be built.
-
MuCKY (MIPS uCompiler from KY)
-
This hand-written compiler was created explicitly for EE380 by
H. Dietz. It compiles a poorly-documented little subset of C
into EE380-style MIPS assembly langauge code. It does not use
registers for passing things in and out of functions, and hence
is not compliant with the MIPS ABI. However, the code
it produces is appropriate for use with SPIM (EE380 WWW form interface) and even includes C-callable
wrappers for print_string(), print_int(), and
exit() OS calls.
-
IDIOCC (IDIOT C Compiler)
-
It's fragile... no, it's still broken... but
here it is as full C source code.
Watch the version number -- this is not yet really working,
so it might change.
-
LDCC (loQ Don C Compiler)
-
It's fragile... no, it's still broken... but
here it is as full C source code.
Watch the version number -- this is not yet really working,
so it might change.
-
LogickCC (Logick C Compiler)
-
It's fragile... no, it's still broken... but
here it is as full C source code.
Watch the version number -- this is not yet really working,
so it might change.
This version can also be compiled as a WWW form-interfaced CGI;
here you can run it via a WWW form.
-
KYSC (KySMet C Compiler)
-
Here we have a very wimpy, sort-of
working, compiler for a SIMD C dialect into KySMet assembly
code. Unlike most of our support code you run via a browser,
this compiler has been translated into javascript and runs
entirely within your WWW browser.
-
gbcc (Gr8BOnd C Compiler)
-
Here's the fragile little C-subset compiler for the Gr8BOnd target.
This version can also be compiled as a WWW form-interfaced CGI;
here you can run it via a WWW form.
Advanced Computer Architecture.