我想解析一个字符串,但这个字符串可能包含对在运行时解析的变量的引用。理想情况下,我想将这些变量及其值的哈希值作为第二个参数传递给解析函数。
目前,我正在sed -i '' 's/parse: function parse(input) {/parse: function parse(input, in_data) { data = in_data;/' grammar.js
从grammar.jison 构建我的grammar.js 之后运行,但这似乎不是最佳解决方案。推荐的方法是什么?
在我的 jison 语法中,我有类似的东西:
start : 'IS' string {$$ = is($2);} ;
在模块部分:
function is(a) {
data.attrs && data.attrs.indexOf(a) >= 0;
}
我希望data
在运行时传入哈希,例如:
parse = require("./grammar").parse;
parse("is 'something'", {attrs: ['something', 'else']})