我有一个错误显示:
line 1:5 mismatched input '<EOF>' expecting NEWLINE
Run Code Online (Sandbox Code Playgroud)
我的意见:
print "hi"
Run Code Online (Sandbox Code Playgroud)
我基本上是ANTLR的新手,所以我真的不知道这个错误的含义是什么?我知道我应该有一个文件结束,但我应该如何放置它?
我基本上是ANTLR的新手,所以我真的不知道这个错误的含义是什么?
这意味着解析器偶然发现文件的末尾,而它期望换行.要修复它,只需在输入的末尾添加换行符即可.
这意味着你的语法中有这样的东西:
parse : (statement NEWLINE)+ EOF
Run Code Online (Sandbox Code Playgroud)
在... NEWLINE之前强制执行EOF.你也可以这样做:
parse : statement (NEWLINE statement)* NEWLINE* EOF
Run Code Online (Sandbox Code Playgroud)
使得NEWLINE可选的结束,但之间的强制性statement秒.
| 归档时间: |
|
| 查看次数: |
1744 次 |
| 最近记录: |