我有一个 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; }
}
非常感谢任何有关文档的建议或指针!