LARA Lecture 05: Basic Semantic Analysis and Type Checking Interpretation versus Semantic Analysis Java Example for Semantic Analysis Maps in Math Handling Scopes in Interpreters Semantic Analysis as Simplified Interpretation Reporting Errors from Semantic Analysis Reporting Errors Based on Syntax Tree Symbol Table (Environment) Implementation Symbol Table Contents Functional versus Imperative Maps An Efficient Imperative Map An Efficient Functional Map Efficient Comparison for Identifiers Notion of Hash-Consing Resolving Variable Names Resolving Variable Names Basic Type Checking Bottop-Up Type Checking Typing Rules for Simple Language References Tiger book, Chapters 4, 5 Name Analysis from Compilation'07 Type Analysis from Compilation'07 Types and Programming Languages Book