Syntax analyzer