现在的位置: 首页 > 综合 > 正文

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

2013年05月16日 ⁄ 综合 ⁄ 共 657字 ⁄ 字号 评论关闭
点击这里下载词法分析器源代码

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

测试范例:
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

抱歉!评论已关闭.