parser AST with test