У меня есть грамматика ANTLR, и я определяю функцию на моем языке, которая допускает необязательный параметр. Как я могу проверить, передан ли необязательный параметр в блок генерации кода?
Я в основном ищу синтаксис, чтобы сделать что-то вроде этого гипотетического оператора грамматики дерева:
myFunc returns [int retval] : 'myFunc' arg1=number arg2=string?
{
// Check if arg2 exists.
if (/* arg2 exists */) { $retval = $arg1.value + 10; }
else { $retval = $arg1.value; }
}
Любые предложения или ссылки на документацию приветствуются!