Abstract syntax tree 如何将ES6 AST直接转换为ES5 AST?

Abstract syntax tree 如何将ES6 AST直接转换为ES5 AST?,abstract-syntax-tree,ecmascript-6,babeljs,Abstract Syntax Tree,Ecmascript 6,Babeljs,我了解到像Babel这样的软件包可以在ES5中将ES6代码转换为JavaScript,但我可以从ES6 AST开始吗?我在Babel的问题中发布了一个类似的问题,并得到了维护人员的回复: 变量originalCode可以是null,这将完成此任务。那么,您有一个ES6 AST,您想从中创建一个ES5 AST吗?@bali182是的。ES6 AST是从其他工具生成的。如果它直接输出JavaScript也可以,但是为什么不解析ES6代码,让Babel将其转换为ES5代码呢?此外,如果你想找到一个将

我了解到像Babel这样的软件包可以在ES5中将ES6代码转换为JavaScript,但我可以从ES6 AST开始吗?我在Babel的问题中发布了一个类似的问题,并得到了维护人员的回复:


变量
originalCode
可以是
null
,这将完成此任务。

那么,您有一个ES6 AST,您想从中创建一个ES5 AST吗?@bali182是的。ES6 AST是从其他工具生成的。如果它直接输出JavaScript也可以,但是为什么不解析ES6代码,让Babel将其转换为ES5代码呢?此外,如果你想找到一个将AST转换为其他内容的工具,它将要求AST采用特定的格式,并且你必须进行一些恶劣的转换(很可能)@bali182 Yes。它实际上是一种AltJS语言,我想如果我生成ES6 AST并让babel或任何将AST转换为ES5 JavaScript的东西可能会很有趣。一些人在源代码中发现了同样的东西:
require("babel").transform.fromAST(ast, originalCode, options);