В моей грамматике аргументы функции не являются обязательными, например:
foo (param1,,, param4) // Это допустимо
Учитывая эту грамматику:
expressionlist
: COMMA* expression?
(COMMA expression?) *
;
В моем листере массив контекста имеет только два элемента.
@ Override public void exitExpressionList (ExpressionListContext ctx) {
ctx.expression (0). getText () / / Retuns "param1"
ctx.expression (1). getText () / / Retuns "param4"
}
Я хотел бы знать, что у меня есть четыре аргумента и порядок их следования:
ctx MyArryList ... (0) / / Retuns "param1"
ctx MyArryList ... (1) / / EMPTY
ctx MyArryList ... (2) / / EMPTY
ctx MyArryList ... (3) / / Retuns "param4"
Можно добавить контекст белый, когда запятую нахожу?
Спасибо