compilation semantic analysis phases 588276