Rya*_*yan 5 action antlr return-value antlrworks
在ANTLR中解决此问题的正确方法是什么:
我有一个简单的语法规则,比如一个包含任意数量元素的列表.
list
: '[]'
| '[' value (COMMA value)* ']'
Run Code Online (Sandbox Code Playgroud)
如果我想为list分配一个返回值,并且该值是生产中返回值的实际列表,那么正确的方法是什么?我很有趣的选择是:
我想问题是:酷孩子们如何做到这一点?
(仅供参考我使用的是用于ANTLR的python API,但是如果你用另一种语言打我,我可以处理它)
在C#中它可能看起来像这样:
list returns [ List<string> ValueList ]
@init
{
$ValueList = new List<string>();
}
: '[]'
| '[' value {$ValueList.Add(value);} (COMMA value {$ValueList.Add(value);})* ']'
;
Run Code Online (Sandbox Code Playgroud)