1
我遇到一个错误显示:期待NEWLINE在ANTLR
line 1:5 mismatched input '<EOF>' expecting NEWLINE
我输入:
print "hi"
我基本上新ANTLR,所以我真的没有任何想法这个错误是关于什么的?我知道我应该有一个文件结束,但我应该如何放置它?
我遇到一个错误显示:期待NEWLINE在ANTLR
line 1:5 mismatched input '<EOF>' expecting NEWLINE
我输入:
print "hi"
我基本上新ANTLR,所以我真的没有任何想法这个错误是关于什么的?我知道我应该有一个文件结束,但我应该如何放置它?
我基本上是ANTLR的新手,所以我真的不知道这个错误是关于什么的?
这意味着解析器在文件末尾发st,而期望换行。要修复它,只需在输入结尾放置换行符。
这意味着你必须在你的语法是这样的:
parse : (statement NEWLINE)+ EOF
使得NEWLINE
强制性只是EOF
之前。你也可以做这样的事情:
parse : statement (NEWLINE statement)* NEWLINE* EOF
使NEWLINE
可选的结束,但statement
S之间强制性的。
它会影响我的声明的输出吗? – marchemike 2012-03-22 09:03:00
对不起,我不确定你的意思。你或者需要在你的输入字符串中放置一个换行符(因为在你的语法中它是这样定义的),或者改变语法本身。 – 2012-03-22 09:04:24