Project 4: Semantic Analysis
Winter 2025
Project 4: Semantic Analysis
Optional checkpoint due
Wednesday, Mar 26, 2025
at 8pm ET
Final deadline
Wednesday, Apr 2, 2025
at 8pm ET
Purpose
Skills
Knowledge
Task
Reported Time to Complete the Project
Criteria for Success
Optional Checkpoint
Overview
Distribution Code
Parser Files
Driver Files
Errors
Types
Functions
Compiler Overview
Compiler Core
Node Definitions
AST Functions
Environments
Base and Start Nodes
Declarations
Printing Functions
Statements
Expressions
Testing Framework
Test Cases
Inheritance and Polymorphism
Phase 1: Finding Declarations
Internal Postconditions for Phase 1
Phase 2: Resolving Types
Internal Postconditions for Phase 2
Phase 3: Resolving Function Calls
Internal Postconditions for Phase 3
Phase 4: Checking Fields and Variables and Resolving Names
Internal Postconditions for Phase 4
Phase 5: Checking Basic Control Flow
Internal Postconditions for Phase 5
Phase 6: Computing and Checking Types
Internal Postconditions for Phase 6
Phase 7 (Optional): Advanced Control Flow
Testing and Evaluation
Grading
Test Grading
Running Your Own Test Cases
Submission
Frequently Asked Questions
Project 4: Semantic Analysis
Index
Index