[发明专利]基于编译器的数据处理方法、装置以及可读存储介质在审
申请号: | 202011166281.X | 申请日: | 2020-10-27 |
公开(公告)号: | CN114489653A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 徐旭栋 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/33 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;杜维 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 编译器 数据处理 方法 装置 以及 可读 存储 介质 | ||
本申请公开了一种基于编译器的数据处理方法、装置以及可读存储介质,该基于编译器的数据处理方法包括:获取源代码中的目标注解;通过编译器加载注解处理插件,获取所述注解处理插件中与所述目标注解对应的目标注解代码;根据所述目标注解代码生成用于描述所述目标注解的数据结构的目标注解列表,对所述目标注解列表进行转译处理,生成所述源代码对应的中间代码;通过所述编译器生成所述中间代码对应的目标文件。采用本申请,可以提升开发效率。
技术领域
本申请涉及计算机技术领域,尤其涉及基于编译器的数据处理方法、装置以及可读存储介质。
背景技术
现有的技术为编程语言提供了注解的能力,程序可以通过注解获取类、字段、方法等程序元素的相关信息,开发人员则可以利用注解跟踪源代码中的依赖性。然而,对Objective-C(扩充C的面向对象编程语言)等编程语言进行注解的现有方案,在使用过程中会存在引入第三方依赖框架以及头文件等操作,造成组件开发或应用开发时的开发效率过低。
发明内容
本申请提供了一种基于编译器的数据处理方法、装置以及可读存储介质,可以提升开发效率。
本申请一方面提供了一种基于编译器的数据处理方法,包括:
获取源代码中的目标注解;
通过编译器加载注解处理插件,获取所述注解处理插件中与所述目标注解对应的目标注解代码;
根据所述目标注解代码生成用于描述所述目标注解的数据结构的目标注解列表,对所述目标注解列表进行转译处理,生成所述源代码对应的中间代码;
通过所述编译器生成所述中间代码对应的目标文件。
本申请一方面提供了一种基于编译器的数据处理装置,包括:
注解获取模块,用于获取源代码中的目标注解;
代码获取模块,用于通过编译器加载注解处理插件,获取所述注解处理插件中与所述目标注解对应的目标注解代码;
代码生成模块,用于根据所述目标注解代码生成用于描述所述目标注解的数据结构的目标注解列表,对所述目标注解列表进行转译处理,生成所述源代码对应的中间代码;
文件生成模块,用于通过所述编译器生成所述中间代码对应的目标文件。
其中,所述代码获取模块包括:
分析单元,用于通过所述注解处理插件对所述目标注解进行分析,生成初始注解列表;所述初始注解列表包括所述目标注解的基础描述标识;
匹配单元,用于根据所述初始注解列表,在所述注解处理插件中的注解库中,查找与所述基础描述标识相匹配的注解代码,作为目标注解代码;所述注解库中的注解代码为针对注解的实现代码。
其中,所述代码生成模块包括:
更新单元,用于根据所述目标注解代码对所述初始注解列表进行更新,得到目标注解列表;所述目标注解列表包括携带有所述目标注解的详情信息的数据结构;
转译单元,用于对所述目标注解列表中的所述数据结构进行转译处理,生成所述目标注解的业务逻辑;在过渡中间代码中对所述业务逻辑进行代码插桩,生成所述源代码对应的中间代码;所述过渡中间代码由所述编译器对工程代码进行编译得到,所述工程代码为所述源代码中除了所述目标注解之外的代码。
其中,所述装置还包括:
检测模块,用于调用所述注解处理插件对所述目标注解进行错误检测,若检测到所述目标注解不满足注解协议,则调用所述编译器进行报错处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011166281.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:研磨抛光装置
- 下一篇:一种液体储氢材料及其制备方法和应用