我可以使用 python 从 javascript 代码中获取 [变量名,值] table 吗?

Could I get [variable name, value] table from javascript code using python?

我有一个名为 index.js 的 JavaScript 文件。 我正在开发一个用 Python 编写的工具,它静态导航 JavaScript 代码以检查是否定义了某个 API。 为了开发它,我需要一个存储的数据结构(table) [variable, value].

这里是JavaScript代码的例子。

var a = "hello";
var b = "hi";

a = "world";
var c= certainAPI.method(parameter_1, parameter_2);

使用工具后,这里是我想要得到的table

---------------------------------------------------------
variable   |  value
---------------------------------------------------------
a          | "world"
---------------------------------------------------------
b          | "hi"
---------------------------------------------------------
c          | certainAPI.method(parameter_1, parameter_2)
---------------------------------------------------------

是否有任何工具或模块可以导航 JavaScript 代码并自动生成这样的 table? table 的结构类型无关紧要。 listdict……各种类型都可以。我只想获取 (var, value) 匹配集。

是的,有一个流行的 JavaScript 解析器是用 JavaScript 编写的。它叫做 Esprima

它可以帮助您获得完整的语法树。

我在 Python 中找到了它的端口。人气不高,大家可以看看

github.com/int3/pyesprima