我正在尝试在xtext中为数组定义语法,其中维度可以为空,如int[][]
或int[5][10]
我的语法如下:
ArrayType:
[BasicType] ('['(dimension+=Expression)?']')+;
当我使用int[][]
时,该规则的问题是模型无法知道包含了多少[]
,因为dimension
列表将为空。
所以我想知道在找不到0
的情况下,xtext中是否存在默认值Expression
的默认值?否则,在不更改元模型的情况下处理此类情况的最佳方法是什么?
提前感谢您的帮助。
答案 0 :(得分:1)
绝不是Xtext专家,但无法添加中间词:
ArrayType:
[BasicType] dimensions=Dimension+;
Dimension:
('['(size+=Expression)?']')