fix bugs in parser and lexer, seems a workable  AST now