如何解决“问题”;“不允许使用多字符文字”;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}
。要获取]
、\
或-
必须使用\
对其进行转义
并非总是需要转义
-
。他们只应该逃走,不应该在边境上逃走。例如,以下定义可以正常工作:[+-]
。