Implement Syntax analyzer