如何解决“问题”;“不允许使用多字符文字”;antlr4 lexer规则中的错误?

如何解决“问题”;“不允许使用多字符文字”;antlr4 lexer规则中的错误?,antlr4,lexer,Antlr4,Lexer,我想写的规则是: Character : '\u0000'..'\u10FFF'; 但是,当尝试对定义了antlr工具的lexer文件运行antlr工具时,我遇到以下错误: multi-character literals are not allowed in lexer sets: '\u10FFF' 如何解决此问题?尝试使用{和}包装多字符文字,并使用v4样式的字符集[…]: Character : [\u0000-\u{10FFF}]; 发件人: […]匹配字符集中指定的一个字符。将

我想写的规则是:

Character : '\u0000'..'\u10FFF';
但是,当尝试对定义了antlr工具的lexer文件运行antlr工具时,我遇到以下错误:

multi-character literals are not allowed in lexer sets: '\u10FFF'

如何解决此问题?

尝试使用
{
}
包装多字符文字,并使用v4样式的字符集
[…]

Character : [\u0000-\u{10FFF}];
发件人:

[…]匹配字符集中指定的一个字符。将
x-y
解释为范围
x
y
之间的字符集。以下转义字符被解释为单个特殊字符:
\n
\r
\b
\t
\f
\uxxx
\u{XXXXXX}
。要获取
]
\
-
必须使用
\
对其进行转义


并非总是需要转义
-
。他们只应该逃走,不应该在边境上逃走。例如,以下定义可以正常工作:
[+-]