
antlr语法报错分析及解决
问题:使用antlr实现加减乘除运算时,语法一直报错。
原因:
未能定义 int 规则。
解决方法:
法语写作助手
法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。
31 查看详情
添加以下代码来定义 int 规则:
fragment digits : [0-9] ([0-9_]* [0-9])? ;int: ('0' | [1-9] (digits? | '_'+ digits));
完整语法:
grammar Expr;fragment Digits : [0-9] ([0-9_]* [0-9])? ;INT: ('0' | [1-9] (Digits? | '_'+ Digits));prog: expr EOF;expr: expr('*'|'/') expr #MultiOrDiv | expr('+'|'-') expr #AddOrSub | INT #Lieteral | '(' expr ')' #Single ;NEWLINE : [\r\n]+ -> skip;
运行后,语法不应再报错。
以上就是ANTLR加减乘除运算语法报错:如何定义INT规则解决问题?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/618093.html
微信扫一扫
支付宝扫一扫