added initial code for semantic analyzer