私はこのようなツリーウォーカーを持っています:
function:
^(FUNCTION_TOK fcname=IDENTIFIER param=functionParameters*){
a_param_arrayList.add(param);
}
;
functionParameters returns [Object sth]:
^(PARAM_TOK value=IDENTIFIER){ sth = $value.getText();}
;
これは単純なシナリオです。パラメーターを arraylist に追加したいだけですが、上記のコード ( a_param_arrayList.add(param) ) は最初のパラメーターのみを収集し、他のパラメーターは無視します。しかし、 functionParametersは実際には複数のパラメーターをパラメーター化します。
このツリーウォーカーを修正する方法を知っている人はいますか? どうもありがとう!