Compiler Design: Syntactic and Semantic Analysis