将JavaScript解析为仪器代码

Bru*_*rry 7 javascript python parsing spidermonkey

我需要将JavaScript文件拆分为单个指令.例如

a = 2;
foo()
function bar() {
    b = 5;
    print("spam");
}
Run Code Online (Sandbox Code Playgroud)

必须分成三个指令.(赋值,函数调用和函数定义).

基本上我需要检测代码,在这些指令之间注入代码以执行检查.分裂为";" 显然不会起作用,因为你也可以用换行结束指令,也许我不想在函数和类定义中设置代码(我还不知道).我使用flex/Bison学习了关于语法的课程,但在这种情况下,这条规则的语义动作是"打印解析树中的所有后代并将我的代码放在最后",这是基本的Bison不能做到的. .我该怎么做呢?我还需要拆分代码,因为我需要使用python-spidermonkey与Python接口.或者......那里是否有一个图书馆可以让我免于重新发明轮子?它不一定是在Python中.

Han*_*Gay 4

为什么不使用 JavaScript 解析器?有很多,包括 ANTLR 的 Python API 和 SpiderMonkey 的 Python 包装器。