1

私の文法では、関数の引数は必須ではありません。たとえば、次のようになります。

foo (param1,,, param4) // 有効です

この文法を考慮すると:

expressionlist
     :  COMMA* expression?
     (COMMA expression?) *
     ;

私のリスナーでは、コンテキスト配列には 2 つの要素しかありません。

@ Override public void exitExpressionList (ExpressionListContext ctx) {
ctx.expression (0). getText () / / Retuns "param1"
ctx.expression (1). getText () / / Retuns "param4"
}

4 つの引数があることと、それらの順序を知りたいです。

ctx MyArryList ... (0) / / Retuns "param1"
ctx MyArryList ... (1) / / EMPTY 
ctx MyArryList ... (2) / / EMPTY 
ctx MyArryList ... (3) / / Retuns "param4"

COMMA を見つけたときに、コンテキスト ホワイトを追加することは可能ですか?

ありがとうございました

4

1 に答える 1