[发明专利]一种表达式解析器有效
| 申请号: | 202211403238.X | 申请日: | 2022-11-10 |
| 公开(公告)号: | CN115576535B | 公开(公告)日: | 2023-03-31 |
| 发明(设计)人: | 胡歆爽;李舒;莫巍;兰艳;齐飞虎;朱泊宇;李伟;石松岩;卢燕艳;雷文静;陈锦琳;李芷兰;吴所谓;管丽;田文斌;邹文涛 | 申请(专利权)人: | 商飞软件有限公司;上海航空工业(集团)有限公司 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 610000 四川省成都市天府新区*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 表达式 解析 | ||
本发明提供一种表达式解析器,该解析器的工作流程为:(1)读取表达式中的字符流作为首字符,运算得到基准推测符号池集合;(2)再读取表达式中的字符流作为次字符,运算得到次字符的推测符号池集合,然后与基准推测符号池集合做交运算,将结果作为基准推测符号池集合;(3)重复步骤(2)直到基准推测符号池集合出现空集,然后将出现空集前的字符组合为符号,设置为符号池对应符号;(4)将出现第一次空集的字符作为首字符,重复步骤(1)至(3),直到字符流结束。本发明设计一种全新的表达式解析器,通过配置语法关键字、开关、语法模态,完成新规则集成,大大减少跨系统之间进行二次开发适配的重复开发工作。
技术领域
本发明涉及非编程语言的表达式解析领域,尤其是涉及一种表达式解析器。
背景技术
在常见的信息系统中,用户需要以某种自定义规则来进行条件设置、进行流程流转、信号显示、数据过滤等方面的操作。表达式的解析通常使用编译器等底层原理实现,在上层应用中,用户对关键字、常量、变量、常变量、枚举等概念的学习成本较高,普遍缺乏快速上手编写编程语言风格的表达式的能力,因此多数系统会定制自身特有的表达式语法、语义、保留字等规则。
不同的系统,为了适配和方便自身领域内用户的习惯,会细节调整自身的语法结构,导致系统间可能出现表达式语法检查结果不一致,函数、变量、常量、枚举等解析结果不一致等情况发生。即便可以通过二次开发进行适配,随着系统集成数量增多,二次开发量将会呈几何级数增加。
发明内容
本发明的目的在于:针对现有技术存在的问题,提供一种表达式解析器,解决现有跨信息系统间可能出现表达式语法检查结果不一致,函数、变量、常量、枚举等解析结果不一致的问题。
本发明的发明目的通过以下技术方案来实现:
一种表达式解析器,该解析器将表达式允许符号抽象为8个符号池,并定义和配置匹配规则为:运算符符号池匹配规则为全匹配,其余符号池匹配规则为无不包含匹配;该解析器的工作流程为:
(1)读取表达式中的字符流作为首字符,以符号池作为合法数据源基础,通过匹配规则得到首字符的推测符号池集合,并将其作为基准推测符号池集合;
(2)再读取表达式中的字符流作为次字符,以符号池作为合法数据源基础,通过匹配规则得到次字符的推测符号池集合,将次字符的推测符号池集合与基准推测符号池集合做交运算,将结果作为基准推测符号池集合;
(3)重复步骤(2)直到基准推测符号池集合在重复过程中第一次出现空集,然后将出现空集前的字符组合为符号,设置为符号池对应符号;
(4)将出现第一次空集的字符作为首字符,重复步骤(1)至(3),直到字符流结束。
作为进一步的技术方案,所述8个符号池为常变量组合字符符号池、单目逻辑运算符符号池、单目算术运算符符号池、双目逻辑运算符符号池、双目算术运算符符号池、保留字符号池、函数名符号池、间隔符符号池。
作为进一步的技术方案,所述的全匹配定义为:符号字符、位置、长度必须一一匹配;无不包含匹配定义为:不允许出现不包含的符号,不限制长度、位置。
作为进一步的技术方案,若出现字符无推测符号池集合,则说明语法出错,流程结束。
与现有技术相比,本发明设计一种全新的表达式解析器,通过配置语法关键字、开关、语法模态,完成新规则集成,大大减少跨系统之间进行二次开发适配的重复开发工作。
附图说明
图1为本发明的流程示意图。
实施方式
下面结合附图和具体实施例对本发明进行详细说明。
本实施例提供一种表达式解析器,如图1所示,本发明的工作过程如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于商飞软件有限公司;上海航空工业(集团)有限公司,未经商飞软件有限公司;上海航空工业(集团)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211403238.X/2.html,转载请声明来源钻瓜专利网。





