[发明专利]编译型语言环境中函数表达式的解析方法及装置、存储介质、终端在审
申请号: | 201910244141.0 | 申请日: | 2019-03-28 |
公开(公告)号: | CN111752566A | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 陈昶华 | 申请(专利权)人: | 上海视九信息科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 朱薇蕾;吴敏 |
地址: | 200050 上海市长宁*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 语言 环境 函数 表达式 解析 方法 装置 存储 介质 终端 | ||
1.一种编译型语言环境中函数表达式的解析方法,其特征在于,包括:
从所述编译型语言环境外部获取所述函数表达式;
对所述函数表达式进行正则替换操作,以将所述函数表达式解析成JSON格式的字符串;
基于所述JSON格式的字符串构建调用树。
2.根据权利要求1所述的解析方法,其特征在于,所述对所述函数表达式进行正则替换操作,以将所述函数表达式解析成JSON格式的字符串包括:识别所述函数表达式中的待解析函数;
对所述待解析函数进行正则替换,以将所述待解析函数解析成所述JSON格式的字符串。
3.根据权利要求2所述的解析方法,其特征在于,所述函数表达式由常量、变量和函数中的至少一种构成,且构成所述函数表达式的常量、变量和/或函数之间通过运算符连接;当所述函数包含有常量、变量和/或函数时,所述常量、变量和函数也通过运算符连接。
4.根据权利要求3所述的解析方法,其特征在于,所述识别所述函数表达式中的待解析函数包括:
将所述至少一个函数分别识别为所述待解析函数;
对于处于相同运算优先级的运算符,将所述运算符所连接的相邻常量、变量和/或函数识别为所述待解析函数。
5.根据权利要求2所述的解析方法,其特征在于,所述对所述待解析函数进行正则替换,以将所述待解析函数解析成所述JSON格式的字符串包括:当所述待解析函数包含运算符时,将所述运算符转换为参数;
将所述待解析函数的括号转换为JSON格式的符号。
6.根据权利要求1所述的解析方法,其特征在于,在对所述函数表达式进行正则替换操作之前,还包括:
对获取的函数表达式进行预处理,以剔除所述函数表达式中的干扰字符。
7.根据权利要求6所述的解析方法,其特征在于,所述干扰字符包括空格。
8.根据权利要求1所述的解析方法,其特征在于,在对所述函数表达式进行正则替换操作之前,还包括:
当获取的函数表达式包括负号时,将所述负号转换为减号。
9.根据权利要求1所述的解析方法,其特征在于,所述基于所述JSON格式的字符串构建调用树包括:
将所述JSON格式的字符串中由预设分隔符分割的各参数确定为所述调用树的节点;
遍历各节点,以按照运算优先级构建所述调用树。
10.一种编译型语言环境中函数表达式的解析装置,其特征在于,包括:
获取模块,用于从所述编译型语言环境外部获取所述函数表达式;
处理模块,用于对所述函数表达式进行正则替换操作,以将所述函数表达式解析成JSON格式的字符串;
构建模块,用于基于所述JSON格式的字符串构建调用树。
11.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至9任一项所述方法的步骤。
12.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至9任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海视九信息科技有限公司,未经上海视九信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910244141.0/1.html,转载请声明来源钻瓜专利网。