[发明专利]一种函数解析方法及其计算机设备在审
申请号: | 201911107908.1 | 申请日: | 2019-11-13 |
公开(公告)号: | CN112799671A | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 许贝贝 | 申请(专利权)人: | 北京配天技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 唐双 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 解析 方法 及其 计算机 设备 | ||
本申请公开了一种函数解析方法,包括:对函数的表达式进行解析,得到函数参数;确定函数参数是否为引用参数;响应于函数参数为引用参数,将函数对应的引用索引添加到引用参数对应的被引用函数的依赖列表中,以建立被引用函数优先于函数进行计算的优先级关系。通过上述方式,本申请能够实现对函数参数是其他函数表达式结果的函数的解析。
技术领域
本申请涉及计算机领域,特别是涉及一种函数解析方法及其计算机设备。
背景技术
较早前的基于调度场算法实现的函数解析器,是以操作数和操作符作为基本的元素,无法支持对内嵌函数表达式的解析。通过对该算法进行扩展,已经可以支持对内嵌函数表达式的解析,且解决了函数参数解析的问题,即可以确定哪些参数属于该函数。
在以前的函数解析中,对于功能相同,参数个数不同的函数,需要提供不同的函数名,这违背函数名称的统一性原则,也使得用户对函数的使用缺乏灵活性。通过对该算法的进一步扩展,现已提出了一种变参函数边界确定的方法,能够很好的解决基于同一函数名时实参个数无法确定的问题,从而实现了函数解析器对变参函数的支持。
尽管如此,目前的函数解析器中仍然一些问题,比如,内嵌函数的函数参数的取值限定为常量参数、字符参数、字符串参数,只能完成各个函数独立的功能。但是对于某个函数的实现是依赖于另外一个函数的情况,则无法通过函数的表达式来进行组织,从而无法实现对函数参数是其他函数表达式结果的函数的解析。
发明内容
本申请主要解决的技术问题是提供一种函数解析方法及其计算机设备,能够实现对函数参数是其他函数表达式结果的函数的解析。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种函数解析方法,包括:对函数的表达式进行解析,得到函数参数;确定函数参数是否为引用参数;响应于函数参数为引用参数,将函数对应的引用索引添加到引用参数对应的被引用函数的依赖列表中,以建立被引用函数优先于函数进行计算的优先级关系。
其中,对函数的表达式进行解析的步骤之前包括:在具有函数的更新列表中填入函数的表达式,其中若函数的表达式中具有引用参数,则建立函数与被引用函数之间的引用关系。
其中,引用参数是被引用函数的表达式在更新列表中的位置编号;引用索引是函数的表达式在更新列表中的位置编号。
其中,将函数对应的引用索引添加到引用参数对应的被引用函数的依赖列表中的步骤后包括:确定被引用函数的表达式是否更新;响应于被引用函数的表达式更新,重新计算被引用函数的表达式并更新其计算结果。
其中,响应于被引用函数的表达式更新,重新计算被引用函数的表达式并更新其计算结果的步骤后包括:遍历被引用函数的依赖列表,更新在被引用函数之后进行计算的所有函数的表达式及其计算结果。
其中,更新列表为电子表格,列表中的位置编号为电子表格的序号。
其中,确定函数参数是否为引用参数的步骤后包括:响应于函数参数中不为引用参数,将函数参数放入函数参数列表中。
其中,响应于函数参数为引用参数,将函数对应的引用索引添加到引用参数对应的被引用函数的依赖列表中的步骤后包括:将函数参数放入函数参数列表中。
其中,将函数参数放入函数参数列表的步骤后包括:确定函数参数遍历是否完成;响应于函数参数遍历未完成,返回对函数的表达式进行解析,得到函数参数的步骤。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机设备,包括处理器、存储器及其存储的指令,处理器执行指令时实现如上述任一项方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京配天技术有限公司,未经北京配天技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911107908.1/2.html,转载请声明来源钻瓜专利网。