Xtext DSL:具有 2 个不同字符串的布尔规则

Xtext DSL: boolean rule with 2 different string

目前我在定义布尔变量时遇到问题:

我有一个带有布尔变量的 class:

Pet:
   isFeline ?= 'cat' | isFeline ?= 'dog' ;

然而,这导致 Pet 返回 'cat'/'dog' 为真。无论如何定义 DSL: 'cat' 为 true 和 'dog' 为 false ??

也许你可以试试这个:

Pet:
    {Pet} (isFeline?='cat' | 'dog');

通常它应该做你想做的!