在我的语法中,我希望变量由拉丁语,西里尔语和普通话字符组成。
为此,我定义了lexer规则,如下所示:
CYRILLIC_RANGE:[\ u0400- \ u04FF];
当我尝试针对我的查询运行表达式时,这是我在ANTLRWorks 2.1输出中看到的:
第1:4行令牌识别错误:'н'
我错过了什么?
答案 0 :(得分:1)
我不确定你错过了什么,因为这似乎对我有用。你试过其他范围的语法吗?这两者都应该是等价的。
CYRILLIC_RANGE : [\u0400-\u04FF] ;
CYRILLIC_RANGE : '\u0400'..'\u04FF' ;