`
lovnet
  • 浏览: 6692748 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

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

阅读更多

本次发布的是文法分析器和改进的词法分析器。你可以点击这里下载。

版本描述
1. 文法分析器是第一次发布,属于alpha版本,还需要大家帮忙测试一下
2. 词法分析器是第二次发布,该版本对字母字符串进行了限制,仅允许本计算器使用的字母串运算符获得识别,它们是cos, sin, tg, ctg, ans, ax, bx, cx, dx, ex, sto, clr, asin, acos, atg, actg, pi, e
3. 该科学计算器属于免费软件,隶属于BluePrint库项目,如果在您项目中使用,请保留原始版权声明。

在上次发布的词法分析器版本中你会发现这样的问题,cossin会被识别为cossin一个字母串,现在你会发现新版本会把它识别为cos和sin

测试和使用说明
1. 词法分析器项目(phraseAnalyzer)默认被设置为类库,它编译出来的phraseAnalyzer.dll将被文法分析器项目所引用,如果你想单独以应用程序方式编译运行它,但这样运行的话,需要在批处理中关闭文法分析器项目(GrammerAnalyzer)编译选项
2. 词法分析器的使用说明请见 实现篇之词法分析器
3. 文法分析器界面十分简单,你直接按 分析 按钮就可以进行文法分析。
在表达式中,你可以输入任何该计算器可以识别的符号,你可以查看 设计篇之词法分析器模块设计,了解哪些符号可以被识别,以下是一些表达式范例:
(1) (1.0+2/3.5-4)*cos8
(2) ((1.5-sintg5)/ctg6.0-atg6^3)-9
如果表达式正确,则会在结果框中显示“正确”,否则会显示在XX附近存在语法错误(与mssql的文法检查有点类似)
4. 由于代码还在测试阶段,如果大家发现有错误的文法没有报错,或者正确的文法却报错了,可以向我反映。当然,如果大家在算法效率或者检测方法上有更好的建议可以向我提出。


**************************Update on 2005.6.15**********************************
科学计算器完整测试版已经发布,请到http://www.cnblogs.com/tonyqus/archive/2005/05/31/165552.html下载

**************************Update on 2005.2.20**********************************
科学计算器正式版已经发布,请到http://tonyqus.cnblogs.com/archive/2006/01/04/310481.html下载

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics