0
当我的输入文件在EOF处没有换行符或者多于一个时,ANTLR给了我下面的错误。当没有足够的或者太多的换行符时ANTLR错误
line 0:-1 mismatched input '' expecting NEWLINE
我怎么会去考虑在输入文件的末尾有多个的可能性,或者不换行。我最好在文法中解释这一点。
当我的输入文件在EOF处没有换行符或者多于一个时,ANTLR给了我下面的错误。当没有足够的或者太多的换行符时ANTLR错误
line 0:-1 mismatched input '' expecting NEWLINE
我怎么会去考虑在输入文件的末尾有多个的可能性,或者不换行。我最好在文法中解释这一点。
规则:
parse
: (Token LineBreak)+ EOF
;
仅解析标记流,通过正好一个换行符分离,用恰好一个换行符结束。
虽然规则:
parse
: Token (LineBreak+ Token)* LineBreak* EOF
;
解析由一个或多个换行分隔的标记的流,与零个,一个或多个换行结束。
但是,您是否真的需要在分析器中显示换行符?你不能把它们放在“隐藏频道”上吗?
如果这不能回答你的问题,你必须发布你的语法(你可以编辑你的原始问题)。
HTH