semantic analysis phase