You are on page 1of 1

198:515 Programming Languages and Compilers I

Problem Set 5
This homework will be graded, although you will not receive any
credit. Submission deadline for grading is Monday, November 16,
before class.

Problem 1 - defining interpreter

Modify the statically (lexically) scoped call-by-value interpreter ValueStatic.ss available on


the ilab cluster (∼uli/cs515/examples/scheme/ValueStatic.ss) to implement dynamic scop-
ing.

Problem 2 - let* in TINY

How can the let* construct be expressed in the TINY language? In other words, can you
rewrite a let* with TINY language constructs? If so, specify how to do this.

Problem 3 - funtional and data representation

Implement environments (extend, extend*, lookup) using a data representation instead of a


procedural representation as implemented in the ValueStatic.ss interpreter.

You might also like