如何为任何字符组合创建Xtext通配符终端规则?

时间:2017-06-08 09:17:20

标签: dsl xtext xtend

我想为以下

编写规则
INTEGER X;
IF GIBBERISH THEN
    X = 10;
ELSE
    X = 15;
END;

在上面的程序中,我想为GIBBERISH中的任何角色编写一个终结规则,例如code('Xfr)ADEF==DCF+1

我写了一个终极规则

// GIBBERISH
terminal GIBBERISH: (.)* ;

我收到了这个错误

The following token definitions can never be matched because prior tokens match the same 
input: RULE_ID,RULE_INT,RULE_STRING,RULE_ML_COMMENT,RULE_WS,RULE_ANY_OTHER

我也理解为什么会显示此错误消息,但无论如何我想要覆盖它。

1 个答案:

答案 0 :(得分:0)

不要从终端规则扩展你的语法。从语法头中删除扩展字符串,将删除所有这些终端。