syntactic analysis