如何将CoffeeScript AST编译成CoffeeScript而不是JavaScript?

如何将CoffeeScript AST编译成CoffeeScript而不是JavaScript?,coffeescript,abstract-syntax-tree,Coffeescript,Abstract Syntax Tree,是否可以将AST转换回CoffeeScript而不是JavaScript?我正在做的一个项目基本上需要将所有的CoffeeScript转换成AST,分析AST,然后将AST的一部分转换回CoffeeScript。我知道转换回原始代码会有“损失”,但这没关系 我真的希望避免将这些部分编译成JavaScript,然后再返回CoffeeScript。这是可能的,但需要您使用CoffeeScript的源代码。您需要熟悉Coffeescript进行标记化的方式,然后了解它如何将标记转换为AST。所讨论的源

是否可以将AST转换回CoffeeScript而不是JavaScript?我正在做的一个项目基本上需要将所有的CoffeeScript转换成AST,分析AST,然后将AST的一部分转换回CoffeeScript。我知道转换回原始代码会有“损失”,但这没关系


我真的希望避免将这些部分编译成JavaScript,然后再返回CoffeeScript。

这是可能的,但需要您使用CoffeeScript的源代码。您需要熟悉Coffeescript进行标记化的方式,然后了解它如何将标记转换为AST。所讨论的源代码位于Github上

如果查看该文件,您将看到一组节点子类,每个子类都有自己的编译函数(如
compile()
compileNode()
,等等)。这些定义了如何将树转换为javascript代码。如果您想生成Coffeescript代码,则需要在您自己的项目分支上覆盖所有代码。

请参阅项目中的round_trip.coffee(我是作者):


我没有涵盖所有案例,但这只是一个开始。

这看起来很有希望!不过我在这里有点不知所措。。。如何(在浏览器环境中)输入AST的一部分并接收回coffeescript代码?这可能吗?谢谢