问题描述
我目前正在研究其他人的Xtext源代码。有一个对象,它仅使用动作,而没有其他任何东西。让对象的名称为“ Empty ”。源代码的相关部分如下。
grammar ...
import "myUri" as MyImport
...
SomeOtherObject returns MyImport::SomeOtherObject:
"someKeyword" AnotherObject empty += Empty
;
// The most relevant part:
Empty returns MyImport::Empty:
{MyImport::Empty}
;
...
我想知道这个对象是否对具体语法有影响?此外,空对象的外观如何?由于行empty += Empty
,可能有多个Empty实例,但是我不知道解析器如何确定创建了多少个实例?
解决方法
+=
不适用于解析器。它用于元模型推断。因此empty
将是一个列表。 empty+=Empty+
或empty+=Empty+
将在运行工作流程时导致错误