我在XText中定义了以下语法。
Object:
"object" (name=INT)? ("extends" superType=[Object|INT] "{"
(comps+=Component)*
"}"
;
我在定义交叉引用时遇到问题,因为INT
显然没有返回ecore::EString
个对象。
我尝试定义STRINT
终端:
STRINT returns ecore::EString:
INT
;
然而,这隐藏了之前定义的INT终端,这是另一个问题。
问题:
ecore::Estring
问题的解决方法,因为我想使用整数进行交联。答案 0 :(得分:1)
如果将STRINT定义为数据类型规则,则不会隐藏另一个终端。所以基本上你所描述的将起作用:
STRINT:
INT
;