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