add code for construct AST
refactoring some classes for AST
changes in generated Parser and Lexer code