[发明专利]一种PPS协议代码解析方法及装置在审
申请号: | 202310155056.3 | 申请日: | 2023-02-21 |
公开(公告)号: | CN116301883A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 林锦涛 | 申请(专利权)人: | 惠州华阳通用电子有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 叶新平 |
地址: | 516000 广东省惠州市东江*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 pps 协议 代码 解析 方法 装置 | ||
1.一种PPS协议代码解析方法,其特征在于,包括:
步骤1、读取PPS协议结构的文本数据作为初始数据;
步骤2、对所述初始数据进行处理,过滤其中异常的文本数据,生成优化数据;
步骤3、将所述优化数据转化为PPS类;
步骤4、采用递归的方式构建多叉搜索树,对不同类型的所述PPS类采用相应的预设遍历方法访问所述PPS类的所有节点,生成对应的解析代码段;
步骤5、将所述解析代码段转变为目标C++代码。
2.根据权利要求1所述的PPS协议代码解析方法,其特征在于,所述步骤2包括:逐字节检测所述初始数据的ASCII码,过滤所述ASCII码预设字符的原始数据,生成优化后的文本数据。
3.根据权利要求2所述的PPS协议代码解析方法,其特征在于,所述预设字符包括换行符或空白字符。
4.根据权利要求1所述的PPS协议代码解析方法,其特征在于,所述步骤3包括:根据被读出的所述优化数据的类型,采用预设方法进行解析。
5.根据权利要求4所述的PPS协议代码解析方法,其特征在于,所述预设方法包括:
A)若所述优化数据的类型为数值型、文本型或者布尔型,则直接解析为相应的数据;
B)如果所述优化数据的类型为json形式,则采用Python的load方法,将json中的数组、对象分别映射成Python的列表、字典数据,生成对应的PPS类。
6.根据权利要求1所述的PPS协议代码解析方法,其特征在于,所述预设遍历方法为前序遍历。
7.根据权利要求6所述的PPS协议代码解析方法,其特征在于,所述前序遍历的时间复杂度为O(n)。
8.根据权利要求7所述的PPS协议代码解析方法,其特征在于,所述步骤4包括:
A)若所述PPS类为列表对象,则在递归当前所述列表对象时,写入QNX原生的解析数组的代码段,并进入下一层节点,在所有子节点代码段生成完毕后,跳出当前层返回上一层深度;
B)若所述PPS类为字典对象,则顺序访问子节点的所有键值,对所有子节点都进行深层递归,并生成字典解析代码段,在所有子节点代码段生成完毕后,跳出当前层返回上一层深度;
C)若所述PPS类为叶子节点,对所述叶子节点的数据类型进行判断,并写入QNX原生的解析具体数据的代码段,并结束当前分支的递归。
9.根据权利要求8所述的PPS协议代码解析方法,其特征在于,所述步骤5包括:
A)通过函数结构输出段输出C++的函数语法结构;
B)通过容错代码输出段输出包括判空、UTF-8校验在内的C++代码;
C)通过解析代码输出段处理由递归生成的列表解析代码段、字典解析代码段、数据解析代码段,并生成相应的C++代码;
D)通过通用代码输出段添加注释、写换行符。
10.一种PPS协议代码解析装置,其特征在于,包括:依次连接的数据注入模块、数据优化模块、数据转换模块、递归解析模块、代码输出模块;
所述数据注入模块,用于读取PPS协议结构的文本数据作为初始数据;
所述数据优化模块,用于对所述初始数据进行处理,过滤其中异常的文本数据,生成优化数据;
所述数据转换模块,用于将所述优化数据转化为PPS类;
所述递归解析模块,用于采用递归的方式构建多叉搜索树,对不同类型的所述PPS类采用相应的预设遍历方法访问所述PPS类的所有节点,生成对应的解析代码段;
所述代码输出模块,用于将所述解析代码段转变为目标C++代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州华阳通用电子有限公司,未经惠州华阳通用电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310155056.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:燃气轮机
- 下一篇:一种固色剂生产用检测装置及检测方法