[發明專利]一種公式解析計算系統及方法在審
| 申請號: | 201410601436.6 | 申請日: | 2014-10-30 |
| 公開(公告)號: | CN104408020A | 公開(公告)日: | 2015-03-11 |
| 發明(設計)人: | 孫成 | 申請(專利權)人: | 北京思特奇信息技術股份有限公司 |
| 主分類號: | G06F17/10 | 分類號: | G06F17/10 |
| 代理公司: | 北京輕創知識產權代理有限公司 11212 | 代理人: | 楊立 |
| 地址: | 100086 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 公式 解析 計算 系統 方法 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種公式解析計算系統及方法。
背景技術
目前,很多軟件系統中都需要對一些公式做處理,在軟件生命周期中,后期的成本往往在總成本中占了非常多的一塊。例如當某些值的計算規則經常變動時,通常需要通過修改代碼的方式來完成計算規則的改變,這樣給后期維護工作帶來很大的工作量,效率極低,且人工修改代碼無法保證操作的準確率,維護成本高。
發明內容
本發明所要解決的技術問題是針對現有技術的不足,提供一種公式解析計算系統及方法。
本發明解決上述技術問題的技術方案如下:一種公式解析計算系統,包括公式配置模塊、公式校驗模塊、公式存儲模塊、公式實例模塊、實例解析模塊和實例計算模塊;
所述公式配置模塊,其用于根據需求配置公式信息;
所述公式校驗模塊,其用于校驗配置的公式是否符合四則運算法則,將驗證通過的公式發送給公式存儲模塊;還用于對公式實例進行校驗,驗證通過發送給實例解析模塊;
所述公式存儲模塊,其用于存儲校驗通過的公式;
所述公式實例模塊,其用于從公式存儲模塊獲取所需公式,輸入相應參數得到公式實例,將公式實例發送給公式校驗模塊;
所述實例解析模塊,其用于對校驗通過的公式實例進行解析,解析出若干組括號,按照從右到左從內到外依次提取括號中的字符串發送給實例計算模塊;
所述實例計算模塊,其用于計算出各括號內的數值,將數值返回到公式實例的相應位置,得出計算結果。
本發明的有益效果是:本發明通過配置所需的公式,對公式進行四則運算法則的校驗,進而解析和計算公式,當需要修改公式時,無需修改代碼,只需將配置的公式信息進行修改,解析計算時按照新的公式進行即可,大大減少了工作量,降低了維護成本;另外,本發明不但對配置的公式進行四則運算法則的校驗,還對公式實例進行校驗,放置在公式實例化過程中,由于參數輸入錯誤導致得到的公式實例不合法,大大提高了公式處理的可靠性。
在上述技術方案的基礎上,本發明還可以做如下改進。
進一步,所述公式校驗模塊內存儲公式校驗規則,所述公式校驗規則包括:一,判斷左括號與右括號數目是否相等;二,判斷是否存在左括號直接與加號、減號、乘號或者除號連接的情況;三,判斷是否存在加號、減號、乘號或者除號直接與右括號連接的情況;四,判斷是否存在加號、減號、乘號或者除號直接與加號、減號、乘號或者除號連接的情況;五,判斷是否存在左括號直接與右括號連接的情況;以上五種情況為不符合四則法則的情況。
進一步,所述實例解析模塊包括實例預處理單元和實例解析單元;
所述實例預處理單元,其用于在公式實例的開始加一個左括號,在公式實例的末端加一個右括號,將預處理的公式實例發送給實例解析單元;
所述實例解析單元,其用于依次查找預處理的公式實例中的最后一個左括號,進而查找該左括號右端與其最近的一個右括號,取出括號內字符串發送給實例計算模塊,直至所有括號內的數據處理完畢。
進一步,所述實例計算模塊包括括號數值計算單元和計算結果輸出單元;
所述括號數值計算單元,其用于對實例解析模塊發送的字符串進行計算,將計算結果返回給實例解析模塊替換公式實例中所取括號及其內字符串;
所述計算結果輸出單元,其用于判斷括號數值計算單元計算的數據是否為最后一個括號中的數據,當為最后一個括號中的數據時,計算當前公式實例并輸出計算結果。
進一步,所述括號數值計算單元計算括號內數值的具體實現為:對實例解析單元發送的數據放入一個集合中,查找該集合中除號位置,取除號前一元素和后一元素,相除得到一個新元素,進而將原位置的三個元素刪除,放入該新元素;繼續找除號進行上述操作,直至無法找到除號為止;根據上述操作方式執行乘號、減號和加號的計算,得出括號內的計算結果。
本發明解決上述技術問題的另一技術方案如下:一種公式解析計算方法,包括如下步驟:
步驟1,據需求配置公式信息;
步驟2,根據公式校驗規則校驗配置的公式是否符合四則運算法則,驗證通過執行步驟3,否則提示公式不合法,返回步驟1;
步驟3,從公式存儲模塊獲取所需公式,輸入相應參數得到公式實例;
步驟4,對公式實例進行校驗,校驗通過執行步驟5,否則提示公式實例不合法,返回步驟3;
步驟5,對公式實例進行解析,解析出若干組括號,按照從右到左從內到外依次提取括號中的字符串發送給實例計算模塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京思特奇信息技術股份有限公司,未經北京思特奇信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201410601436.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種多功能滅火裝置
- 下一篇:一種垂直升降式無線滅火器





