java – ANTLR – NoViableAltException
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – ANTLR – NoViableAltException,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1062字,纯文字阅读大概需要2分钟。
内容图文
![java – ANTLR – NoViableAltException](/upload/InfoBanner/zyjiaocheng/802/93c0e471d34b49b38dfb7fec28c1a0dd.jpg)
我正在尝试通过编写一个语法来学习ANTLR(我正在使用带有ANTLR插件的eclipse),直到我遇到错误它才会好起来:
NoViableAltException: line 0:-1 no viable alternative at input '<EOF>'
当我尝试测试我的args解析器规则时;
typedident : (INT|CHAR) IDENT;
args : (typedident ( COMMA typedident)*)?;
一个字母是一个字母后跟任何字符,这是有效的,我已经测试过了. typedident也适用于测试.
我正在使用int a12q2efwe的输入,char a12eqdsf(完全随机)并且树在解释器中看起来很好,唯一的问题是args有四个分支而不是3,typedident,逗号,typedident然后是最后的错误一.
任何帮助将不胜感激.
谢谢.
解决方法:
我假设你正在使用内置的解释器.不,它是马车.要么自己创建一个自定义测试类,要么使用ANTLRWorks的调试器(我相信Eclipse插件使用与ANTLRWorks相同的调试器).永远不要使用翻译.
在ANTLRWorks中,正在解析输入“int a12q2efwe,char eq45dsf”(使用调试器),如下所示:
正如你可以看到自己使用这个小语法:
grammar T;
args : (typedident (COMMA typedident)*)? EOF;
typedident : (INT | CHAR) IDENT;
COMMA : ',';
INT : 'int';
CHAR : 'char';
IDENT : ('a'..'z' | 'A'..'Z') ('a'..'z' | 'A'..'Z' | '0'..'9')*;
SPACE : ' ' {skip();};
内容总结
以上是互联网集市为您收集整理的java – ANTLR – NoViableAltException全部内容,希望文章能够帮你解决java – ANTLR – NoViableAltException所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。