Semantic analyzer for CS426