从Spidermonkey中获取JavaScript代码的AST

时间:2015-06-16 17:30:28

标签: c++ abstract-syntax-tree spidermonkey

我需要从C ++获取JS代码的AST。我知道Spidermonkey(不像V8生成的)AST遵循我可以使用的标准。

我可以从C ++程序传递代码(字符串或JS文件)并获取AST吗?如果是这样的话?

1 个答案:

答案 0 :(得分:2)

我刚刚回答了类似的问题here。简短版本是:

  1. 按照概述here
  2. 构建运行时,上下文和全局对象
  3. JS_InitReflect使用您的全局实例化全局范围内的Reflect对象(documentation
  4. 编写一些JS来解析您想要分析的代码。根据您的需要,您可能只想在JavaScript中进行分析或将JSON编码的字符串传递回C ++。