Syntax: BNF, abstract syntax
Static semantics: free and bound variables; lexical nesting; prescriptive types (Pascal, ML): unification; descriptive types (Scheme): set-based analysis;
Operational semantics/interpreters: data and primitives: dynamic typing (Scheme, TeX), compound data; local control constructs (if, while, repeat); procedures: ... as values, parameter passing techniques; assignment and state: store-passing; non-local control constructs: labels as values, continuatations, exception handling, coroutines, continuation passing, macros: hygiene, pattern-matching; memory-management: garbage collection; objects and classes: delegation, inheritance; lambda calculus as a model language.
![]() |
![]() |
![]() |
![]() |
---|