在python中解析JavaScript参数值

时间:2010-08-28 11:47:42

标签: javascript python regex parsing arguments

有没有办法解析传递给python中的JavaScript函数的参数值?

我希望能够自动记录JavaScript函数调用,以确保它们具有传递给它们的正确参数。

例如,在:

function mymethod(fruit, vegetable, drink) {
    // dummy function
}

function drink(drink) {
    this.drink = drink
}
var myveg = 'tomato'

mymethod('grape', myveg, new drink('apple juice'))

函数调用将被重写为:

mymethod(
    /*fruit*/ 'grape', /*vegetable*/ myveg, 
    /*drink*/ new drink('apple juice')
)

所以我真的希望能够将参数拆分为["'grape'", "myveg", "new drink('apple juice')"],删除过程中任何先前自动插入的注释,最好允许子函数调用作为参数。

如果所有其他方法都失败了,我会这样做,以便参数在方法调用之前作为注释(这将更容易解析)但我想我先问,因为它会让错误看起来更明显

非常感谢你。

1 个答案:

答案 0 :(得分:1)

除非事先知道您的JavaScript代码遵循您事先知道的某些约定,否则您将需要一个完整的JavaScript解析器。正则表达式不适用于任务,因为它们不适合匹配括号等嵌套结构。

Python有许多解析器生成器工具:Python parsing tools。我不知道他们中是否有任何可用的JavaScript解析器。