Xtext 中的语法错误

Fac*_*ree 4 parsing xtext

我有一个语法规则

factoid:
Element Place
;
Run Code Online (Sandbox Code Playgroud)

这取决于另一个规则:

Place:
name = ('sea' | 'air')
;
Run Code Online (Sandbox Code Playgroud)

事实陈述规则似乎包含与地点相关的识别错误:

此行有多个标记 - 无法在规则内两次更改类型 - 当已创建“当前”规则时,不允许调用未分配的规则。

我不懂这啥意思。有人可以解释这是什么以及如何解决它吗?

小智 5

我认为元素规则生成一个对象。由于没有分配,这成为当前分配。对Place 的第二个未分配规则调用也将返回一个对象。但当前指针已经包含Element类型的类,不能再包含Place类。因此,您可以尝试将Place分配给facoid的成员,此处称为location

factoid:
 item=Element location=Place
;
Run Code Online (Sandbox Code Playgroud)

我不确定是否需要将元素分配给项目。如果 Element 未分配给 member,那么我希望该位置将成为Element的成员或类似的成员。