如何在SpiderMonkey中从AST生成JavaScript代码?

时间:2015-08-11 15:56:09

标签: javascript parsing mozilla spidermonkey

我正在使用SpiderMonkey作为项目,我需要它完成2项任务:

  1. 获取给定JavaScript字符串的AST节点信息。
  2. 从AST节点编写JavaScript。
  3. 第一项任务是通过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的反向过程?感谢

1 个答案:

答案 0 :(得分:1)

如果Spidermonkey没有内置模块来执行此操作,则您必须自己构建一个模块。

您需要执行此操作的所有详细信息:Compiling an AST back to source code