0

我有一张桌子

CREATE TABLE demo {
   a int,
   b int, 
   PRIMARY KEY (a, b, c)
};

每行是一个

Columns
  : k=ID v=ComparatorType (is_pk?=K_PRIMARY K_KEY)?
  | is_pk?=K_PRIMARY K_KEY '(' cs+=ID (',' cs+=ID )* ')'
;

我像这样调用我的错误函数

error('PRIMARY KEYS id need to declare in advance', 
  MyPackage.Literals.COLUMNS__CS,
  PRIMARY_KEYS_DONT_EXIST)  

它可以找到语法错​​误,但 xtext 会PRIMARY KEY在行的第一个元素处标记错误,这a在我的示例中。有没有办法在c或整体上标记错误(a, b, c)

4

1 回答 1

1

您可以将应标记为附加参数的索引传递给错误函数。如果不仅要标记 c,当然可以为每个索引创建多个错误。

于 2013-08-15T19:56:51.323 回答