[发明专利]基于堆栈的可执行文件对数学函数式读入解析计算方法在审
申请号: | 201510675130.X | 申请日: | 2015-10-15 |
公开(公告)号: | CN105243049A | 公开(公告)日: | 2016-01-13 |
发明(设计)人: | 刘天桢;童乔凌 | 申请(专利权)人: | 武汉筑信科技有限公司 |
主分类号: | G06F17/15 | 分类号: | G06F17/15 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 430000 湖北省武汉市洪山*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 堆栈 可执行文件 数学 函数 读入 解析 计算方法 | ||
技术领域
本发明涉及数学函数式解析计算技术领域,尤其涉及一种基于堆栈的可执行文件对数学函数式读入解析计算方法。
背景技术
很多系统带有数学运算功能,尤其是统计计算软件如SPSS,Eviews等著名的统计计算软件。国内众多的计算机应用系统,也常带有数学计算功能。它们的数学计算功能往往是分门别类地针对特定的数学公式进行运算,例如某一个按钮计算sin(x),某一个按钮计算cos(x+y)等等,用户只需要按照约定或规定输入数据即可。但是更好的软件设计应该是可以由用户任意写入合法的数学表达式如(log(a*x+b)/c)*tan(d*cos(d/y-e)),a*sin(b*x+c)/d等等,然后结合输入数据进行计算。
目前一般的数学软件要想输入和采用不同的数学函数式,只能在源代码中编入函数式表达代码,再进行编译。由于识别数学函数式不仅要识别函数名称,而且要识别计算的顺序,需要判断四则运算的优先次序,需要对多重小括号进行解析,这在已经编译好的可执行文件里难以做到。目前还没有见到可执行文件对数学函数式读入计算技术的报道。
发明内容
本发明提供了一种基于堆栈的可执行文件对数学函数式读入解析计算方法,可实现软件的可执行文件对数学函数式的读入、解析和赋值计算,为数学软件或含有数学运算的软件系统解决了软件功能的一个基本问题。
为解决上述技术问题,本发明所采用的技术方案为:一种基于堆栈的可执行文件对数学函数式读入解析计算方法,包括以下步骤:
S1、读入数学函数式文本:读入数学函数式从表单的Memo框里实现,需要用户遵守函数式的书写规则;
S2、识别基本初等函数名:包括三角函数和反三角函数,以及指数函数、对数函数;
S3、结合优先表识别运算符:数学函数式具体识别解析过程由若干头文件、字符串的定义、优先级表以及关键程序组成;
S4、结合堆栈和小括号解析函数式:实现对函数式的大写改小写、格式校验、数学函数定义域校验;
S5、赋值计算:包括函数式的系数赋值和变量赋值,赋值以后、计算之前要检查函数式的合理性。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
该方法可实现软件的可执行文件对数学函数式的读入、解析和赋值计算,为数学软件或含有数学运算的软件系统解决了软件功能的一个基本问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的结构框架图;
图2是本申请实施例一的流程图。
具体实施方式
本发明提供了一种基于堆栈的可执行文件对数学函数式读入解析计算方法,可实现软件的可执行文件对数学函数式的读入、解析和赋值计算,为数学软件或含有数学运算的软件系统解决了软件功能的一个基本问题。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
本申请实施例所述的一种基于堆栈的可执行文件对数学函数式读入解析计算方法,其系统由可执行文件、函数式输入表单(Form)、具体菜单头文件、函数式解析头文件四部分组成。具体如下:
可执行文件:它包括250多个模型和算法菜单,其中有若干个菜单如自编函数的非线性回归等,需要应用到函数式的独立输入技术。
函数式输入表单(Form):它是用户输入自己函数式的地方,在表单(Form)里的文本框(Memo)里操作。
菜单头文件:这些头文件提供函数式输入技术需要的头文件支持,它是也提供自编函数式的规则要求。
函数式解析头文件:这是函数式输入解析技术的关键文件,包括整个技术过程的实质性步骤。
其包括以下步骤:
S1、读入数学函数式文本:读入数学函数式从表单的Memo框里实现,需要用户遵守函数式的书写规则;为此Memo文档给出如下提示。
数学表达式使用符号:
+-*/()sincostgctgexpln以及数字和英文小写字母变量
数学表达式格式如:
一元函数x:sin(x*2)+cos(x*x)
二元函数x,y:sin(x*2)+ln(y*x)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉筑信科技有限公司,未经武汉筑信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510675130.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光学影像拾取系统组
- 下一篇:获取内容的方法及移动终端