gpt4 book ai didi

java - 如何使用Rhino将 "AstRoot"对象写入包含注释的文件?

转载 作者:行者123 更新时间:2023-12-02 08:31:03 25 4
gpt4 key购买 nike

我已经使用 Rhino 解析了 javascript 源代码并成功重建了它。

当我调用astroot.toSource()时,它向我展示了重建的源代码。

但是.toSource()方法无法打印注释。

使用.toSource()方法,我所有的javascript源代码的注释都消失了。

那么,我怎样才能获得包括评论的完整源代码?

我的目标是将 AstRoot 对象(包含源代码)写入一个新的 javascript 文件,其中包含完整的注释。

我使用的是Rhino 1.7R4

最佳答案

一般来说,这很困难,因为注释可以出现在任何声明、语句或表达式的中间。那么如何在各种 AST 对象中表示这一事实呢?它可以完成,但对于解析器及其创建的 AST 对象来说非常困惑。

如果您限制自己只允许在语句边界上发表评论,则有一些可能的解决方案。

一种方法是编写自己的 javascript 标记生成器并在读取文件时检查流。然后你需要弄清楚如何跟踪它们。一种黑客方法是将它们转换为 'var somexXXXxx = "comment";'并使用命名约定在 ast.toSource() 调用后将它们转换回来。这会将您的评论映射到 AST 节点结构中。

关于java - 如何使用Rhino将 "AstRoot"对象写入包含注释的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15939032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com