[原创]用LR(0)写的计算器
完全按照LR(0)语法设计要求写的表达式计算器,
源代码包含词法分析程序和语法分析(LR(0))程序。
目前该计算器可以计算如:
cos,sin,tg,lg,ln等常用的表达式,
或计算统计数据:
avg(3,4,5)=4(求平均值)
如:
求coscos1:
输入coscos1然后输入'='就可以求得如下:
coscos1=0.857553
求lglg1000:
输入lglg1000然后输入'='就可以求得如下:
lglg1000= 0.477121
求2^2^2:
输入2^2^2然后输入'='就可以求得如下:
2^2^2 = 16.000000
求10,20,30的平均数:
输入avg(10,20,30)后输入'='就可以得到:
2^2^2 = 16.000000
求3+4*(5-3):
输入该表达式后输入'='得到:
3+4*(5-3) = 11.000000
★输入表达式后不要忘了输入'='(不要习惯性的打回车!),如果表达式有问题(词法或语法错误)那么输入‘=’后不会有任何反映,只要表达式输入正确就会得到正确的值!目前该计算器还不支持除10进制以外的其他进制(本人的疏忽)
★lr0.h为词法分析和语法分析程序!本人是先用c语言写程序,然后在用类封装的,所以封装的比较差,就将就看吧,
c语言版文件今天不能上传了(因为今天我已经洗?个文件了),改天吧!
[此贴子已经被作者于2005-11-5 23:51:06编辑过]