这是一个示例语法:
语法 org.xtext.example.mydsl.MyDsl 和 org.eclipse.xtext.common.Terminals
生成 myDsl “http://www.xtext.org/example/mydsl/MyDsl”
开始:元素 += 狗;
狗:'狗'INT';' ;
终端 CAT : ('A'..'Z')('A'..'Z')('A'..'Z')' '('0'..'9')+;
当 Xtext 看到 line:DOG 1234
时,它无法解析并会给出错误“ mismatch input DOG 1234... Expecting DOG ”类似的东西。我认为当Xtext遇到关键字时,它应该比终端具有更高的优先级。但它似乎很困惑。我怎样才能解决这个问题?
注意 DOG 和 CAT 用在不同的地方(即终端 CAT 用于其他规则,但其定义与 DOG 规则冲突)