[发明专利]跨语言编程方法、装置、电子设备及存储介质有效
申请号: | 201810615055.1 | 申请日: | 2018-06-14 |
公开(公告)号: | CN108920133B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 臧成威;任童童 | 申请(专利权)人: | 北京三快在线科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/20 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 语言 编程 方法 装置 电子设备 存储 介质 | ||
1.一种跨语言动态编程方法,其特征在于,包括:
通过定制化编译器前端,根据第一语言源程序生成运行时环境的数据结构,并将所述数据结构编译到所述第一语言源程序的目标文件的预设数据段;
获取所述目标文件中包括的所述第一语言源程序的运行时元信息;
将所述运行时元信息,映射到基于第二语言构建的运行时环境;
通过执行运行时环境对应的第二语言编写的代码,调用所述运行时环境中映射的不同语言的运行时元信息;
其中,将所述运行时元信息,映射到基于第二语言构建的运行时环境的步骤之前,还包括基于第二语言执行如下操作:
构建满足存储至少一种所述第一语言的运行时元信息的数据结构;
定义内存模型;
根据所述第一语言的语法特点,实现所述第一语言对应的调用接口;
创建反射能力;
构建第二语言方法调用规则。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标文件中包括的所述第一语言源程序的运行时元信息的步骤,包括:
根据目标文件中预设数据段的数据,解析得到第一语言程序的运行时元信息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述目标文件中包括的所述第一语言源程序的运行时元信息的步骤,包括:
根据目标文件,解析得到第一语言程序的运行时元信息。
4.根据权利要求3所述的方法,其特征在于,所述获取所述目标文件中包括的所述第一语言源程序的运行时元信息的步骤之前,还包括:
根据第一语言库文件的接口定义文件,生成所述运行时环境调用所述库文件中运行时元信息的桥接源程序;
通过预设编译器对所述桥接源程序进行编译,得到包括所述第一语言程序的运行时元信息的目标文件。
5.根据权利要求1所述的方法,其特征在于,所述将所述运行时元信息,映射到基于第二语言构建的运行时环境的步骤,包括:
将至少一种第一语言程序的所述运行时元信息,注册到基于第二语言构建的运行时环境。
6.根据权利要求1所述的方法,其特征在于,所述将所述运行时元信息,映射到基于第二语言构建的运行时环境的步骤之后,还包括:
将第一语言源程序转换为预设解释器对应的可解释语言代码;
通过将所述运行时环境中的接口注册到所述预设解释器的上下文对象,以所述可解释语言程序更新所述运行时环境中的所述接口对应的程序。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述第二语言为跨平台语言。
8.一种跨语言编程装置,其特征在于,包括:
目标文件生成模块,用于通过定制化编译器前端,根据第一语言源程序生成运行时环境的数据结构,并将所述数据结构编译到所述第一语言源程序的目标文件的预设数据段;
运行时元信息获取模块,用于获取所述目标文件中包括的所述第一语言源程序的运行时元信息;
元信息映射模块,用于将所述运行时元信息,映射到基于第二语言构建的运行时环境;
运行时环境工作模块,通过执行运行时环境对应的第二语言编写的代码,调用所述运行时环境中映射的不同语言的运行时元信息,以实现跨语言的程序调用;
其中,将所述运行时元信息,映射到基于第二语言构建的运行时环境的步骤之前,还包括基于第二语言执行如下操作:
构建满足存储至少一种所述第一语言的运行时元信息的数据结构;
定义内存模型;
根据所述第一语言的语法特点,实现所述第一语言对应的调用接口;
创建反射能力;
构建第二语言方法调用规则。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任意一项所述的跨语言编程方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任意一项所述的跨语言编程方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810615055.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种事件构建方法和存储介质
- 下一篇:自动生成设计文档的方法及装置