我读了Why am I getting an error when assigning tokens to a channel?的答案。 答案是,这不是错误,而是警告。
嗯,这一切都很好,但是当出现此警告时,Eclipse IDE https://github.com/jknack/antlr4ide将不会生成代码。
使用COMMENT频道时有没有办法收到警告?
答案 0 :(得分:0)
您可以通过在COMMENT
块中而不是在tokens{}
块中定义@members{}
来欺骗编译器。这将导致自动分配给它的常量值。
如果您还在使用HIDDEN
频道,我会包含以下内容以确保安全:
@members {
{
if (HIDDEN == COMMENT) {
throw new IllegalStateException(
"Expected the HIDDEN and COMMENT constants to have different values.");
}
}
}