Static and dynamic scope for variables and procedures. Its operational single-step semantics. Detailed proof of the equivalence of running the source program and running the compiled program. Type Systems Static vs dynamic typing. Merging the syntax of arithmetic and boolean expression.
Types bool and int .
Typing rules for expressions and statements. The need for semantics to talk about correctness of the type system. The semantics The need to separate booleans and integers. Semantics of expressions and statements. A polymorphic type system.