【问题标题】:How to create an Xtext wildcard terminal rule for any combination of characters?如何为任意字符组合创建 Xtext 通配符终端规则?
【发布时间】:2017-06-08 09:17:20
【问题描述】:

我想为下面写一条规则

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

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

【问题讨论】:

    标签: dsl xtext xtend


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 2014-04-07
      • 2020-03-10
      • 1970-01-01
      相关资源
      最近更新 更多