Com S 342 meeting -*- Outline -*- * orientation Context: now we have the tools in hand, time to apply them. ------------------------------------------ WHERE ARE WE? Chapters basic concepts and Scheme syntax abstraction 1 induction and recursion 2 data abstraction 3 environment-passing interpreters 3.1 simple interpreter 3.2 the front end 3.3 conditionals 3.4 local binding 3.5 procedures 3.6 recursion 3.9 statements 3.8 parameter passing 4 types 5 objects and classes 6 objects and types ------------------------------------------ We've already seen several programs that are *syntax directed* e.g., free-vars, bound-vars, lexical-address, strength-reduce Now we'll do the obvious other program: an interpreter ------------------------------------------ WHY? Use interpreters to: - explain semantics of features - play with behavior of features - play with changes to features HOW Plan: - start with simple interpreter - add features ------------------------------------------ applications of this idea: programming languages scripting languages for programs (e.g., for a spreadsheet, editor, games, etc.)