如何使用COMMENTS频道而不会收到警告

时间:2014-03-04 08:01:20

标签: warnings antlr4

我读了Why am I getting an error when assigning tokens to a channel?的答案。 答案是,这不是错误,而是警告。

嗯,这一切都很好,但是当出现此警告时,Eclipse IDE https://github.com/jknack/antlr4ide将不会生成代码。

使用COMMENT频道时有没有办法收到警告?

1 个答案:

答案 0 :(得分:0)

您可以通过在COMMENT块中而不是在tokens{}块中定义@members{}来欺骗编译器。这将导致自动分配给它的常量值。

如果您还在使用HIDDEN频道,我会包含以下内容以确保安全:

@members {
{
  if (HIDDEN == COMMENT) {
    throw new IllegalStateException(
      "Expected the HIDDEN and COMMENT constants to have different values.");
  }
}
}