C311 Assignment 7 -- Interpreter variations
Due Monday, February 27th, at 8:55 AM
Read EOPL Sections 5.3 through 5.5.
Submit via email
- Define a new version of the <proc-language> class
that inherits directly from <env-language>, rather that
<let-language>.
- Define a new version of the <let-language> class that
inherits from your new <proc-language> class and
implements the same semantics for let, but without introducing a new
<syntax> class. Hint: when parsing a let expression,
create new <proc>, <call>, and
<exps> nodes.
- Define a new version of the <assign-language> class
that inherits from your <let-language> class and
does not use the <cell> class. Instead use
vector-set! to store assigned values directly in the values
vector containing the binding of assigned variable.
- Define a <begin-language> class that inherits from
your <assign-language> class and adds the equivalent of
Scheme's begin form to the interpreted languages.
chaynes@indiana.edu