【问题标题】:Obtaning the AST of JavaScript code from Spidermonkey从 Spidermonkey 获取 LAST 的 JavaScript 代码
【发布时间】:2015-06-16 17:30:27
【问题描述】:

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

我可以将 C++ 程序中的代码(字符串或 JS 文件)传递给它并获取 AST 吗?如果有怎么办?

【问题讨论】:

  • 您在哪里可以得到答案?
  • 不,spidermonkey标签似乎没有很多答案:(
  • 你想嵌入 SpiderMonkey 还是仅仅调用一个编译好的 SpiderMonkey shell?
  • 我更喜欢嵌入它,但此时我会采用任何可行的方法

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多