将AST从代码中独立出去