在下面的语法中,我尝试将任何'
以单行注释开头的行配置为介于/' Multiline Comment '/
. 单行注释工作正常。但是由于某种原因,一旦我按下/
或'
或';' 或<
'>' 我得到下面的错误。我没有配置上述字符。他们不应该被认为是默认的并跳过解析吗?
错误
Lexical error at line 0, column 0. Encountered: "\"" (34), after : ""
Lexical error at line 0, column 0. Encountered: ">" (62), after : ""
Lexical error at line 0, column 0. Encountered: "\n" (10), after : "-"
为了简洁起见,我只包含了下面的部分代码。有关完整的 Lexer 定义,请访问链接
TOKEN :
{
< WHITESPACE:
" "
| "\t"
| "\n"
| "\r"
| "\f">
}
/* COMMENTS */
MORE :
{
<"/'"> { input_stream.backup(1); } : IN_MULTI_LINE_COMMENT
}
<IN_MULTI_LINE_COMMENT>
TOKEN :
{
<MULTI_LINE_COMMENT: "'/" > : DEFAULT
}
<IN_MULTI_LINE_COMMENT>
MORE :
{
< ~[] >
}
TOKEN :
{
<SINGLE_LINE_COMMENT: "'" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")?>
}