Semantic Analyzer for the COOL language