ANTLR4。如何创建正确的unicode范围词法规则?

时间:2013-11-14 23:26:06

标签: antlr4

在我的语法中,我希望变量由拉丁语,西里尔语和普通话字符组成。 为此,我定义了lexer规则,如下所示: CYRILLIC_RANGE:[\ u0400- \ u04FF];
当我尝试针对我的查询运行表达式时,这是我在ANTLRWorks 2.1输出中看到的: 第1:4行令牌识别错误:'н' 我错过了什么?

1 个答案:

答案 0 :(得分:1)

我不确定你错过了什么,因为这似乎对我有用。你试过其他范围的语法吗?这两者都应该是等价的。

CYRILLIC_RANGE : [\u0400-\u04FF] ;
CYRILLIC_RANGE : '\u0400'..'\u04FF' ;