[发明专利]一种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类为字典对象,则顺序访问子节点的所有键值,对所有子节点都进行深层递归,并生成字典解析代码段,在所有子节点代码段生成完毕后,跳出当前层返回上一层深度;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州华阳通用电子有限公司,未经惠州华阳通用电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310155056.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top