Find a Compiler
Next: Write A Brief
Up: Assignment 1: ``Cadaver'' Compiler
Previous: Assignment 1: ``Cadaver'' Compiler
The kinds of questions you will be asked to consider during the
semester might be
-
What is the high-level intermediate representation used by the
compiler?
-
How robust is the compiler in the face of errors? How good are the
diagnostics?
-
How faithful is the compiler to the source language definition?
-
How good is the code quality with respect to optimization? Register
usage?
-
Is there a systematic approach to type checking; if so, what is it?
-
What would be needed to add some new language feature (e.g. a
control construct)?
Thus, you should look for a compiler with the following attributes:
-
The source code is available.
-
Documentation is available, either separately or embedded in the code.
-
Someone might be available to answer questions (either because
the compiler is widely used, e.g. gcc, or because someone is listed
as a contact person).
-
The compiler generates code, or at least low-level pseudo-code (i.e.
not an interpreter or just a front end).
-
You can execute the compiler (just reading code is easy to do
remotely, but execution might require either a guest account,
downloading binaries, or a local installation).
-
It's possible for you to find out enough about the source language
to be able to write some small programs.
The first place to look is in the software warehouse, since you
might prefer to have something local. Check /usr/sww, /usr/sww/lang,
/usr/sww/share/lang as a start, although some of that is not very
current. Note that there may be some compilers available on the
Berkeley campus under a site license that are not otherwise available
on the WWW.
Or look at http://remarque.berkeley.edu/muir/free-compilers
Use the class newsgroup to share what you learn with others, so that
everyone doesn't follow the same blind alley or make the same choice.
Next: Write A Brief
Up: Assignment 1: ``Cadaver'' Compiler
Previous: Assignment 1: ``Cadaver'' Compiler
Susan Graham
Fri Sep 1 09:45:06 PDT 1995