javascript - 我可以使用Python从javascript代码获取[变量名称,值]表吗?

标签 javascript python lexer

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

这是 JavaScript 代码的示例。

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

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

使用工具后,这是我想要获得的表格。

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

是否有任何工具或模块可以导航 JavaScript 代码并自动制作这样的表格?表的结构类型并不重要。 listdict...所有类型都可以。我只想获得 (var, value) 匹配集。

最佳答案

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

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

我在 Python 中找到了它的一个端口。虽然不太流行,但你可以看看。

github.com/int3/pyesprima

关于javascript - 我可以使用Python从javascript代码获取[变量名称,值]表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38579757/

相关文章:

python - 使用 random 函数随机化计划任务

python - 从 Python 中使用 OpenMP 调用 C 函数会导致最后出现段错误

python - ply 中的特殊情况词法分析器规则

javascript - 有条件地在选项标签中应用 bool 属性

javascript - Google Recaptcha 启用禁用的提交按钮

python - listctrl,列图像不显示

compiler-construction - ANTLR 如何决定应用哪个词法分析器规则?最长匹配的词法分析器规则获胜?

java - 使用 javax.lang.model 或 ANTLR JavaParser 获取 Java 源代码信息的示例/教程

javascript - 如何在 React 中使用 jquery-scrollto?

javascript - 在js中用多个定界符和特殊字符分割