Semantic analysis
Introduction
Symbol table
Type checking with attributes