Com S 342 meeting -*- Outline -*- * orientation Context: now we have the tools in hand, time to apply them. ------------------------------------------ WHERE ARE WE? Chapters 1-2 basic concepts and Scheme 3 syntax and data abstraction syntax-directed programming 4 (lambda calculus and) imperatives 5.1 interpreter basics 5.2 conditionals 5.3 local binding 5.4 procedures 5.5 assignment 5.6 recursion 5.7 dynamic-binding 6 parameter passing 7 OO features 8-9 control ------------------------------------------ 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.)