分离了lexer和语法树的构造,把AST构造放到了Parser内,这样第一遍扫描就把所有的token扫描出来