用ANTLR4实现加减乘除小学生数学利器,高级程序员思想

主要使用ANTLR4实现改效果小学生的高等数学,智能计算器,主要学习思想,高等程序员必备思想,有更好想法的欢迎发表看法先看效果图:如下文法示例,专业术语文法,不懂留言或者多多百度和FQ整个加减乘除的词法的语法就由以下几行的antlr4代码来实现,先贴在下面:

/*** Define a grammar called Hello*/

// 以下以小写字母开头的文法表示为语法元素

// 由大写字母开头的文法表示为词法元素

// 词法元素的表示类似于正则表示式//

语法元素的表示类似于BNF

grammar ExprCombined;

expr :(Int|String) #basic|expr op=(Mul|Div) expr #mulDivExpr

|expr op=(Add|Min) expr #addMinExpr

| LPAREN expr RPAREN #groupExpr;RPAREN : ')' ;

LPAREN : '(' ;Add :'+';Min :'-';Mul :'*';Div :'/';String : '"' ~'"'+ '"';

Int:[0-9]+;Identifier :

Letter LetterOrDigit* ;

WS : [ \t\r\n]+ -> channel(HIDDEN) ;

fragment Letter : [a-zA-Z_] ;

fragment LetterOrDigit : [a-zA-Z0-9_] ;

这段文法写好运行会产生文件在obj文件夹

其他语言都可以调用

此文为看点(世道如今)原创内容,特此声明

转载于:https://www.cnblogs.com/rujin/p/5821155.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值