switching to visitor driven semantic analysis