added a syntax analyzer