如何处理名单返回价值在这些代码
-
09-09-2019 - |
题
什么是正确的方法来解决这个问题,在这些代码:
我有一个简单的语法规则,说对名单的一个任意数量的元素。
list
: '[]'
| '[' value (COMMA value)* ']'
如果我想要分配返回值的列表,并具有的价值是实际的列表的回值的生产,什么是适当的方式做到这一点?替代我有趣的是:
- 创造我自己的堆在全球范围内跟踪这些名单
- 尝试检查的树节点下面我并提取信息的方式
- 访问它在一些光滑和冷静的方式,我希望找出在哪我可以容易获得这样的清单内的行动相关的规则。
我猜测的问题是:怎么酷的孩子这样做?
(仅供参考,我使用的是蟒蛇API for这些代码,但是如果你打我与另一语言,我可以处理)
解决方案
C#它可能看起来是这样的:
list returns [ List<string> ValueList ]
@init
{
$ValueList = new List<string>();
}
: '[]'
| '[' value {$ValueList.Add(value);} (COMMA value {$ValueList.Add(value);})* ']'
;
其他提示
我猜测一个更简单的方式可能是
list returns [ List values ]
: '[]'
| '[' vs+=value (COMMA vs+=value)* ']' {
$values = $vs;
}
不隶属于 StackOverflow