有没有办法解析传递给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')"]
,删除过程中任何先前自动插入的注释,最好允许子函数调用作为参数。
如果所有其他方法都失败了,我会这样做,以便参数在方法调用之前作为注释(这将更容易解析)但我想我先问,因为它会让错误看起来更明显
非常感谢你。
答案 0 :(得分:1)
除非事先知道您的JavaScript代码遵循您事先知道的某些约定,否则您将需要一个完整的JavaScript解析器。正则表达式不适用于任务,因为它们不适合匹配括号等嵌套结构。
Python有许多解析器生成器工具:Python parsing tools。我不知道他们中是否有任何可用的JavaScript解析器。