我正在使用SpiderMonkey对于一个项目,我需要它来完成两项任务:
- 在给定 JavaScript 字符串的情况下获取 AST 节点信息。
- 从 AST 节点编写 JavaScript。
第一个任务是通过 js Reflect.parse('var a = 13;');
完成的,它返回 AST,很好!
从 AST 到 JavaScript
第二个任务是我需要的。我想指示 js
(或者可能是 Reflect
对象,我想)获取一个节点:
{
type:"Program",
body:[
{
type:"VariableDeclaration",
kind:"var",
declarations:[
{
type:"VariableDeclarator",
id:{type:"Identifier", name:"a"},
init:{type:"Literal", value:13}
}
]
}
]
}
并写下:var a = 13;
。
如何实现这一点,这是 Reflect.parse
的逆过程?谢谢
最佳答案
如果 Spidermonkey 没有内置模块来执行此操作,您必须自己构建一个。
您需要执行的所有详细信息都在这里:Compiling an AST back to source code
关于javascript - 如何在 SpiderMonkey 中从 AST 生成 JavaScript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31946534/