[介绍]:abacus 2 是一个扩展性良好的小型计算器,得名于中国古代著名的计算工具----算盘,目前版本 2。支持四则混合运算、支持符号常量、支持变量参与运算、支持众多的数学函数、并可以把自己常用的公式定义成函数并像内置函数一样使用。
一、软件框架
1. 软件逻辑框架
2. 子模块清单
编号 | 模块 | 备注 |
01 | 会话管理器 | |
02 | 命令处理器 | |
03 | 词法分析器 | |
04 | 语法分析器 | |
05 | 计算器 | |
06 | 错误管理器 | |
二、模块功能设计
1. 会话管理器
编号 | 功能 | 备注 |
01 | 管理用户自定义变量,包括:
|
|
02 | 管理用户自定义运算符与函数,包括:
|
|
2. 命令处理器
编号 | 功能 | 备注 |
01 | 创建业务命令 | |
02 | 执行业务命令 | |
3. 词法分析器
编号 | 功能 | 备注 |
01 | 词法分析:分割字符串为表达式元素列表 | |
4. 语法分析器
编号 | 功能 | 备注 |
01 | 语法分析:构造运算符前置表达式 | |
5. 计算器
编号 | 功能 | 备注 |
01 | 根据运算符前置表达式递归计算表达式的值 | |
6. 错误管理器
编号 | 功能 | 备注 |
01 | 添加错误信息 | |
02 | 获取最后一个错误信息 | |
三、业务流程设计
1. 软件主体流程
2. 业务流程
2.1 计算命令流程
2.2 变量命令流程
2.3 运算符命令流程
3. 模块流程
来源:oschina
链接:https://my.oschina.net/u/736932/blog/119906