add AST parser