文字列を解析したいのですが、この文字列には、実行時に解決される変数への参照が含まれている可能性があります。理想的には、これらの変数とその値のハッシュを parse 関数の 2 番目の引数として渡したいと思います。
現在、sed -i '' 's/parse: function parse(input) {/parse: function parse(input, in_data) { data = in_data;/' grammar.js
grammar.jison から grammar.js をビルドして実行していますが、これは最適なソリューションとは言えません。これを行うための推奨される方法は何ですか?
私のジソン文法では、次のようなものがあります。
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']})