Lecture, Tuesday, April 28 1998 Register machines -- Chapter 5.1 specifying a machine as data paths: registers operations controller example: GCD using a stack to implement recursion example factorial Recitation: Wednesday, April 29 1998 Take any simple procedure and show how to implement it as a register machine. For instance, try exercise 5.3 or exercise 5.4 in the text. Go through a recursive procedure (eg. FIB) and analyze the stack usage. (Note Exercise 5.6). LECTURE, Thursday, April 30 1998 Explicit Control Evaluator RECITATION, Friday, May 1 1998 I would work through some simple examples, having them trace how pieces of the evaluation get passed through the registers. It is probably a good idea to set up ahead of time the contracts that each of the pieces of eval and apply rely on, then show how the chunks of code are basically oriented towards achieving those contracts. Things to point out -- use of stack for saving state of machine, how tail recursion is implement. If you have time, point out variations one could play with the evaluator.