0

私は、swig.js を Django でより使いやすくするために取り組んでいます。ほとんどのコードは理解できますが、parse.js は理解できます。

4

1 に答える 1

2

メーリングリストに投稿したように

filterApplyIdxoutフィルターが適用される (出力) 配列のインデックスの配列です。パーサーはフィルタを見つけると、out配列の最後の値のインデックスに適用しますfilterApplyIdx

例:out配列に次の が含まれている場合、['(', 'my_var']は であるfilterApplyIdx必要があります[0, 1]my_var(閉じ括弧が見つかると、最初に に適用され、次に左括弧で囲まれたすべてに適用されます)。そのため、解析される次の項目がフィルターの場合、filterApplyIdx最後の値であるがポップ1され、配列が調べられout、フィルターが のトークンに適用されますout[1]

ただし、out配列が次のようにもっと複雑な場合['my_func(', 'foo', 'bar']( の閉じ括弧my_funcがまだ見つからないことに注意してください)、 は次のfilterApplyIdxようになります[0, 2]。新しい変数が見つかった1ため、フィルターを適用する機会が過ぎたため、現在は削除しました。foobar

于 2014-11-19T04:52:24.460 に答える