c#实现科学计算器 实现篇之词法分析器

点击 这里下载词法分析器源代码

根据词法分析模块中的有限状态机设计的词法分析器,能够对有效状态集中的词进行分解,如果出现了不在状态集中词或符号,则会报错。具体有哪些词受到支持,可以参见 这里

测试范例:
1. 1.0+2*3=
2. 1.0+(2*3+cos3)/3.6-6=
3. tg(1.0+(sin2*3+cos3)/3.6-6)=
4. 4.0log(1.0+(sin2*3+cos3)/3.6-6)=
5. 自己想吧...

使用注意事项:
1. 该程序在VS.net 2003+.Net 1.1 sp1环境下调试通过
2. 考虑到可能在之后的设计中加入新的字母串支持,暂时对于所有的字母串都能识别,因此如果你发现一些不受支持的字母串也会被分解出来,请不要感到奇怪
3. 表达式的最后一个项是不识别的,建议在表达式最后加上'='或'#'
4. 结果字符串中的数字是对应于特定的Phrase的,可以参考 这里
5. 负号用 '@'表示,如-4应写成@4

************************Update on 2005.5.26*********************
词法分析器的新版本已经发布,伴随发布的是文法分析器alpha版本,大家可以到 这里下载
=====================================================================
科学计算器正式版已经于2006.1.4发布,详情请见 http://tonyqus.cnblogs.com/archive/2006/01/04/310481.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值