Xtext中的语法错误

时间:2013-03-03 12:25:03

标签: parsing xtext

我有一个语法规则

factoid:
Element Place
;

这取决于另一条规则:

Place:
name = ('sea' | 'air')
;

factoid规则似乎包含与Place相关的识别错误:

  

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

我不知道这意味着什么。有人可以解释这是什么以及如何解决它?

1 个答案:

答案 0 :(得分:3)

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

factoid:
 item=Element location=Place
;

我不确定是否需要将元素分配给。如果Element未分配给成员,那么我希望 location 成为 Element 的成员或类似的东西。