[发明专利]一种PPS协议代码解析方法及装置在审
申请号: | 202310155056.3 | 申请日: | 2023-02-21 |
公开(公告)号: | CN116301883A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 林锦涛 | 申请(专利权)人: | 惠州华阳通用电子有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 叶新平 |
地址: | 516000 广东省惠州市东江*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 pps 协议 代码 解析 方法 装置 | ||
本发明提供PPS协议代码解析方法及装置,方法包括:步骤1、读取PPS协议结构的文本数据作为初始数据;步骤2、对所述初始数据进行处理,过滤其中异常的文本数据,生成优化数据;步骤3、将所述优化数据转化为PPS类;步骤4、采用递归的方式构建多叉搜索树,对不同类型的所述PPS类采用相应的预设遍历方法访问所述PPS类的所有节点,生成对应的解析代码段;步骤5、将所述解析代码段转变为目标C++代码。本发明实现了自动生成目标C++代码,节省了人工编写过程,大大提高了开发效率。
技术领域
本发明涉及QNX软件技术领域,尤其涉及一种PPS协议代码解析方法及装置。
背景技术
PPS(Persistent Publish/Subscribe)服务是一个小型的、可扩展的发布和订阅服务,它提供了跨重启的持久性,旨在为嵌入式系统中的发布/订阅和持久性提供简单、易用的解决方案,满足使用异步发布和通知构建松散连接系统的需求。
在QNX平台软件开发中,PPS协议类代码是一种结构大体相似内容却不一样的代码。对于这种代码,目前大多采用人工编写的方式,开发时间大约占总开发时间的1/3左右,冗余而漫长的协议代码人工编写过程,不但耗费开发人员精力,并且会使得项目周期延长,不利于快速推出新产品。
发明内容
本发明提供一种PPS协议代码解析方法及装置,旨在解决现有技术中的缺陷,实现自动生成目标C++代码,节省人工编写过程,提高开发效率。
为达到上述目的,本发明所采取的技术方案为:
本发明一方面提供一种PPS协议代码解析方法,包括:
步骤1、读取PPS协议结构的文本数据作为初始数据;
步骤2、对所述初始数据进行处理,过滤其中异常的文本数据,生成优化数据;
步骤3、将所述优化数据转化为PPS类;
步骤4、采用递归的方式构建多叉搜索树,对不同类型的所述PPS类采用相应的预设遍历方法访问所述PPS类的所有节点,生成对应的解析代码段;
步骤5、将所述解析代码段转变为目标C++代码。
具体地,所述步骤2包括:逐字节检测所述初始数据的ASCII码,过滤所述ASCII码预设字符的原始数据,生成优化后的文本数据。
具体地,所述预设字符包括换行符或空白字符。
具体地,所述步骤3包括:根据被读出的所述优化数据的类型,采用预设方法进行解析。
具体地,所述预设方法包括:
A)若所述优化数据的类型为数值型、文本型或者布尔型,则直接解析为相应的数据;
B)如果所述优化数据的类型为json形式,则采用Python的load方法,将json中的数组、对象分别映射成Python的列表、字典数据,生成对应的PPS类。
具体地,所述预设遍历方法为前序遍历。
具体地,所述前序遍历的时间复杂度为O(n)。
具体地,所述步骤4包括:
A)若所述PPS类为列表对象,则在递归当前所述列表对象时,写入QNX原生的解析数组的代码段,并进入下一层节点,在所有子节点代码段生成完毕后,跳出当前层返回上一层深度;
B)若所述PPS类为字典对象,则顺序访问子节点的所有键值,对所有子节点都进行深层递归,并生成字典解析代码段,在所有子节点代码段生成完毕后,跳出当前层返回上一层深度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州华阳通用电子有限公司,未经惠州华阳通用电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310155056.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:燃气轮机
- 下一篇:一种固色剂生产用检测装置及检测方法