几个星期的休息之后,它的时间与ANTLR再次打...ANTLR:词法投掷NoViableAltException
无论如何,我有以下词法定义令牌:
fragment EQ: '=';
fragment NE: '<>';
BOOLEAN_FIELD
: ('ISTRAINED'|'ISCITIZEN')
;
BOOLEAN_CONSTANT
: ('TRUE'|'FALSE'|'Y'|'N')
;
BOOLEAN_LOGICAL
: BOOLEAN_FIELD (EQ|NE) (BOOLEAN_FIELD|BOOLEAN_CONSTANT)
;
不幸的是, BOOLEAN_LOGICAL标记以简单术语(如“ISTRAINED = ISTRAINED”)抛出NoViableAltException。
我知道一些响应将会是“这应该在解析器中”。它先前在解析器中,但是,我试图将一些简单的项目卸载到词法分析器中,因为我只需要“是/否,这个文本块是否有效?”
任何帮助表示赞赏。
你真的使用双引号吗? '“ISTRAINED”'应该是'ISTRAINED'' – 2013-02-28 13:23:56
不,这是一个“复制到SO的例子”的错误。原来使用的单引号。 – Jason 2013-02-28 14:00:17