Interpreters

The following projects ask you to implement interpreters written in Java for a series of progressively richer subsets of an experimental language called Omega:

Alpha

Beta

Gamma

Delta

Epsilon

Zeta

Omega

If designed well, you should be able to reuse code from one interpreter to the next with few, if any, modifications.

Please submit your source code and executable. You will be graded on functionality (does it work) and design (does the design faithfully reflect the concepts? Is the code reusable?)

You might find some useful Java utilities here:

http://www.cs.sjsu.edu/faculty/pearce/jutil/

Lectures on these concepts can be found here:

Programming Language Concepts