预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115981652A(43)申请公布日2023.04.18(21)申请号202111200966.6(22)申请日2021.10.14(71)申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼(72)发明人轩加振袁健(74)专利代理机构北京格罗巴尔知识产权代理事务所(普通合伙)11406专利代理师项军花(51)Int.Cl.G06F8/41(2018.01)G06F8/30(2018.01)权利要求书2页说明书20页附图6页(54)发明名称语言互操作方法、装置、存储介质及程序产品(57)摘要本申请涉及一种语言互操作方法、装置、存储介质及程序产品,所述方法包括,获取第一语言代码以及多种第二语言代码;根据多种第二语言代码,生成多种第二语言的互操作边界信息的统一抽象表示,统一抽象表示是多种第二语言的互操作边界信息的二进制代码,多种第二语言的互操作边界信息表示多种第二语言的构成要素中允许与第一语言互相访问或使用的构成要素;根据统一抽象表示,编译第一语言代码,得到第一语言代码的二进制代码并输出。根据本申请实施例的语言互操作方法,能够在为编程语言提供语言互操作能力的同时,降低语言互操作实现的成本及操作难度,提高编程语言的语言互操作能力扩展性。CN115981652ACN115981652A权利要求书1/2页1.一种语言互操作方法,其特征在于,所述方法包括:获取第一语言代码以及多种第二语言代码;根据所述多种第二语言代码,生成多种第二语言的互操作边界信息的统一抽象表示,所述统一抽象表示是多种第二语言的互操作边界信息的二进制代码,所述多种第二语言的互操作边界信息表示多种第二语言的构成要素中允许与第一语言互相访问或使用的构成要素;根据所述统一抽象表示,编译所述第一语言代码,得到第一语言代码的二进制代码并输出,所述第一语言代码的二进制代码在执行时使得第一语言代码中的构成要素和多种第二语言中的任一第二语言的构成要素能够互相访问或使用。2.根据权利要求1所述的方法,其特征在于,根据所述多种第二语言代码,生成多种第二语言的互操作边界信息的统一抽象表示,包括:根据所述多种第二语言代码,识别所述多种第二语言的互操作边界信息;根据所述多种第二语言的互操作边界信息,生成所述统一抽象表示。3.根据权利要求2所述的方法,其特征在于,所述多种第二语言的互操作边界信息包括至少一个重复的构成要素和至少一个唯一的构成要素,根据所述多种第二语言的互操作边界信息,生成所述统一抽象表示,包括:根据所述多种第二语言的互操作边界信息的共性部分和特有部分生成所述统一抽象表示,其中,所述共性部分通过将所述至少一个重复的构成要素中的每一重复的构成要素作为一个构成要素得到,所述特有部分包括所述至少一个唯一的构成要素。4.根据权利要求1‑3中任一项所述的方法,其特征在于,根据所述统一抽象表示,编译所述第一语言代码,得到第一语言代码的二进制代码并输出,包括:根据所述统一抽象表示与第一语言的互操作边界信息的差异,得到对所述统一抽象表示与第一语言的语义进行处理的处理手段,所述第一语言的互操作边界信息根据所述第一语言代码确定;编译所述第一语言代码时使用所述处理手段,得到所述第一语言代码的二进制代码并输出。5.根据权利要求4所述的方法,其特征在于,所述处理手段包括映射处理,其中,所述映射处理为针对所述第一语言代码中、与所述统一抽象表示内存相同、名称不同的构成要素,按照映射关系中对应内存的数据类型进行编译,所述映射关系指示所述统一抽象表示的构成要素、第一语言的互操作边界信息的构成要素与不同内存的数据类型的对应关系。6.根据权利要求4或5所述的方法,其特征在于,所述统一抽象表示的构成要素变量包括空指针、且所述第一语言的构成要素变量不包括空指针,所述处理手段包括第一运行时转换处理,其中,所述第一运行时转换处理为使用运行时转换代码确定所述运行时为空时,将当前编译的构成要素变量作为异常值抛出。7.根据权利要求4‑6中任一项所述的方法,其特征在于,2CN115981652A权利要求书2/2页所述统一抽象表示的构成要素变量包括空指针、且所述第一语言的构成要素变量不包括空指针,所述处理手段包括第二运行时转换处理,其中,所述第二运行时转换处理为使用运行时转换代码确定所述运行时为空时,返回可选构成要素中的空值。8.根据权利要求4‑7中任一项所述的方法,其特征在于,所述统一抽象表示与第一语言的互操作边界信息中,存在名称相同、语法不同的构成要素,所述处理手段包括语法差异标记处理,其中,所述语法差异标记处理为编译所述第一语言代码时,为第一语言的构成要素增加与所述统一抽象表示的构成要素对应的标记,所述标记指示第一语言代码中,所述具有标记的构成要