[发明专利]一种编译方法、装置、设备及系统有效
申请号: | 201910437948.6 | 申请日: | 2019-05-24 |
公开(公告)号: | CN110245468B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 张建涛 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F8/41 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 王戈 |
地址: | 开曼群岛大开曼岛乔治镇医院*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 编译 方法 装置 设备 系统 | ||
1.一种编译方法,包括:
获取源程序;
将所述源程序进行编译,得到第一中间代码;
根据预存的标识符将所述第一中间代码进行拆分,得到第一代码和第二代码;
根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码;
根据所述解码对应关系表生成解释器;
将所述第一代码、所述解释器和所述指令字节码合并,得到目标程序。
2.如权利要求1所述的方法,所述根据所述解码对应关系表生成解释器,具体包括:
获取所述解码对应关系表中的字节对应关系;
根据所述字节对应关系确定对应于所述解码对应关系表的解释器。
3.如权利要求1所述的方法,所述根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码,具体包括:
获取所述解码对应关系表中的字节对应关系;
根据所述字节对应关系确定对应于所述解码对应关系表的指令字节码。
4.如权利要求1所述的方法,在所述根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码之前,还包括:
根据预设的关系表生成算法动态生成所述解码对应关系表。
5.如权利要求1所述的方法,在所述根据预存的标识符将所述第一中间代码进行拆分,得到第一代码和第二代码之后,还包括:
将所述第二代码进行拆分,得到第三代码和第四代码;
根据第一解码对应关系表对所述第三代码进行编译处理,得到第一指令字节码;
根据所述第一解码对应关系表生成第一解释器;
根据第二解码对应关系表对所述第四代码进行编译处理,得到第二指令字节码;
根据所述第二解码对应关系表生成第二解释器;
将所述第一代码、所述第一指令字节码、所述第一解释器、所述第二指令字节码和所述第二解释器合并,得到目标程序。
6.如权利要求1所述的方法,在所述根据所述解码对应关系表生成解释器之后,还包括:
将所述第一代码与所述解释器进行合并,得到第二中间代码;
将所述第二中间代码和所述指令字节码合并,得到目标程序。
7.一种运行方法,包括:
获取目标程序,所述目标程序包括目标子程序和解释器;所述解释器是根据解码对应关系表生成的;
若所述目标子程序为指令字节码,调用所述解释器解释所述指令字节码,得到第二代码;所述指令字节码是根据所述解码对应关系表对所述第二代码进行编译处理得到的;所述第二代码是根据预存的标识符将对源程序进行编译得到的第一中间代码进行拆分得到的;
运行所述第二代码。
8.如权利要求7所述的方法,还包括:
若所述目标子程序为第一代码,则直接运行所述第一代码。
9.一种编译装置,包括:
第一获取模块,用于获取源程序;
第一编译模块,用于将所述源程序进行编译,得到第一中间代码;
拆分模块,用于根据预存的标识符将所述第一中间代码进行拆分,得到第一代码和第二代码;
第二编译模块,用于根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码;
生成模块,用于根据所述解码对应关系表生成解释器;
合并模块,用于将所述第一代码、所述解释器和所述指令字节码合并,得到目标程序。
10.如权利要求9所述的装置,所述生成模块,具体包括:
关系获取单元,用于获取所述解码对应关系表中的字节对应关系;
解释器确定单元,用于根据所述字节对应关系确定对应于所述解码对应关系表的解释器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910437948.6/1.html,转载请声明来源钻瓜专利网。