Xtext语法规则组合

时间:2015-06-26 13:46:37

标签: java grammar xtext ebnf

以下两条规则之间的区别是什么?

第一个实现正在按预期工作:

Lane:
    '{' actions+=Element* '}';

所以我可以把它留空或添加任意数量的元素。

而第二个抛出异常:

Lane:
    '{' (actions+=Element+)? '}';

堆栈追踪:

Caused by: java.io.IOException: Generated EMF Model incomplete: Could not serialize EObject via backtracking.
Constraint: null actions+=Element null
Values: actions(2)
Semantic Object: ....->Lane
Context: Lane

约束中元素的多重性在哪里?

Constraint: null actions+=Element null

0 个答案:

没有答案