[发明专利]一种公式解析计算系统及方法在审
申请号: | 201410601436.6 | 申请日: | 2014-10-30 |
公开(公告)号: | CN104408020A | 公开(公告)日: | 2015-03-11 |
发明(设计)人: | 孙成 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 公式 解析 计算 系统 方法 | ||
1.一种公式解析计算系统,其特征在于,包括公式配置模块、公式校验模块、公式存储模块、公式实例模块、实例解析模块和实例计算模块;
所述公式配置模块,其用于根据需求配置公式信息;
所述公式校验模块,其用于校验配置的公式是否符合四则运算法则,将验证通过的公式发送给公式存储模块;还用于对公式实例进行校验,验证通过发送给实例解析模块;
所述公式存储模块,其用于存储校验通过的公式;
所述公式实例模块,其用于从公式存储模块获取所需公式,输入相应参数得到公式实例,将公式实例发送给公式校验模块;
所述实例解析模块,其用于对校验通过的公式实例进行解析,解析出若干组括号,按照从右到左从内到外依次提取括号中的字符串发送给实例计算模块;
所述实例计算模块,其用于计算出各括号内的数值,将数值返回到公式实例的相应位置,得出计算结果。
2.根据权利要求1所述一种公式解析计算系统,其特征在于,所述公式校验模块内存储公式校验规则,所述公式校验规则包括:一,判断左括号与右括号数目是否相等;二,判断是否存在左括号直接与加号、减号、乘号或者除号连接的情况;三,判断是否存在加号、减号、乘号或者除号直接与右括号连接的情况;四,判断是否存在加号、减号、乘号或者除号直接与加号、减号、乘号或者除号连接的情况;五,判断是否存在左括号直接与右括号连接的情况;以上五种情况为不符合四则法则的情况。
3.根据权利要求1所述一种公式解析计算系统,其特征在于,所述实例解析模块包括实例预处理单元和实例解析单元;
所述实例预处理单元,其用于在公式实例的开始加一个左括号,在公式实例的末端加一个右括号,将预处理的公式实例发送给实例解析单元;
所述实例解析单元,其用于依次查找预处理的公式实例中的最后一个左括号,进而查找该左括号右端与其最近的一个右括号,取出括号内字符串发送给实例计算模块,直至所有括号内的数据处理完毕。
4.根据权利要求1所述一种公式解析计算系统,其特征在于,所述实例计算模块包括括号数值计算单元和计算结果输出单元;
所述括号数值计算单元,其用于对实例解析模块发送的字符串进行计算,将计算结果返回给实例解析模块替换公式实例中所取括号及其内字符串;
所述计算结果输出单元,其用于判断括号数值计算单元计算的数据是否为最后一个括号中的数据,当为最后一个括号中的数据时,计算当前公式实例并输出计算结果。
5.根据权利要求4所述一种公式解析计算系统,其特征在于,所述括号数值计算单元计算括号内数值的具体实现为:对实例解析单元发送的数据放入一个集合中,查找该集合中除号位置,取除号前一元素和后一元素,相除得到一个新元素,进而将原位置的三个元素删除,放入该新元素;继续找除号进行上述操作,直至无法找到除号为止;根据上述操作方式执行乘号、减号和加号的计算,得出括号内的计算结果。
6.一种公式解析计算方法,其特征在于,包括如下步骤:
步骤1,据需求配置公式信息;
步骤2,根据公式校验规则校验配置的公式是否符合四则运算法则,验证通过执行步骤3,否则提示公式不合法,返回步骤1;
步骤3,从公式存储模块获取所需公式,输入相应参数得到公式实例;
步骤4,对公式实例进行校验,校验通过执行步骤5,否则提示公式实例不合法,返回步骤3;
步骤5,对公式实例进行解析,解析出若干组括号,按照从右到左从内到外依次提取括号中的字符串发送给实例计算模块;
步骤6,实例计算模块计算出各括号内的数值,将数值返回到公式实例相应位置,得出计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410601436.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能灭火装置
- 下一篇:一种垂直升降式无线灭火器