【技术实现步骤摘要】
语言互操作方法、装置、存储介质及程序产品
[0001]本申请涉及计算机编程领域,尤其涉及一种语言互操作方法、装置、存储介质及程序产品。
技术介绍
[0002]随着计算机技术的发展,编程语言的种类也不断增加。编程语言作为一种开发工具,通常是针对特定的领域或行业的开发需求来设计的,例如,Java语言多应用于企业软件开发、安卓移动开发,大数据云计算领域等IT行业;Python语言常用在图形处理,科学计算,web编程,多媒体应用和引擎开发、机器学习、人工智能等领域。也就是说,每种编程语言擅长的领域不同。因此,针对不同的开发环境,需要适应性选择合适的编程语言来实现开发需求。
[0003]其中,一种编程语言不能满足特定环境下的开发需求时,或者相比该种编程语言,其他编程语言对于完成特定环境下开发需求中的某一部分具有优势时,可以采用该种编程语言结合其他编程语言来共同实现开发需求。为此,提出了语言互操作能力的概念。语言互操作能力表示不同编程语言作为同一系统的一部分进行互操作的能力。现有的语言互操作方法,虽然能够使得编程语言具有语言互操 ...
【技术保护点】
【技术特征摘要】
1.一种语言互操作方法,其特征在于,所述方法包括:获取第一语言代码以及多种第二语言代码;根据所述多种第二语言代码,生成多种第二语言的互操作边界信息的统一抽象表示,所述统一抽象表示是多种第二语言的互操作边界信息的二进制代码,所述多种第二语言的互操作边界信息表示多种第二语言的构成要素中允许与第一语言互相访问或使用的构成要素;根据所述统一抽象表示,编译所述第一语言代码,得到第一语言代码的二进制代码并输出,所述第一语言代码的二进制代码在执行时使得第一语言代码中的构成要素和多种第二语言中的任一第二语言的构成要素能够互相访问或使用。2.根据权利要求1所述的方法,其特征在于,根据所述多种第二语言代码,生成多种第二语言的互操作边界信息的统一抽象表示,包括:根据所述多种第二语言代码,识别所述多种第二语言的互操作边界信息;根据所述多种第二语言的互操作边界信息,生成所述统一抽象表示。3.根据权利要求2所述的方法,其特征在于,所述多种第二语言的互操作边界信息包括至少一个重复的构成要素和至少一个唯一的构成要素,根据所述多种第二语言的互操作边界信息,生成所述统一抽象表示,包括:根据所述多种第二语言的互操作边界信息的共性部分和特有部分生成所述统一抽象表示,其中,所述共性部分通过将所述至少一个重复的构成要素中的每一重复的构成要素作为一个构成要素得到,所述特有部分包括所述至少一个唯一的构成要素。4.根据权利要求1
‑
3中任一项所述的方法,其特征在于,根据所述统一抽象表示,编译所述第一语言代码,得到第一语言代码的二进制代码并输出,包括:根据所述统一抽象表示与第一语言的互操作边界信息的差异,得到对所述统一抽象表示与第一语言的语义进行处理的处理手段,所述第一语言的互操作边界信息根据所述第一语言代码确定;编译所述第一语言代码时使用所述处理手段,得到所述第一语言代码的二进制代码并输出。5.根据权利要求4所述的方法,其特征在于,所述处理手段包括映射处理,其中,所述映射处理为针对所述第一语言代码中、与所述统一抽象表示内存相同、名称不同的构成要素,按照映射关系中对应内存的数据类型进行编译,所述映射关系指示所述统一抽象表示的构成要素、第一语言的互操作边界信息的构成要素与不同内存的数据类型的对应关系。6.根据权利要求4或5所述的方法,其特征在于,所述统一抽象表示的构成要素变量包括空指针、且所述第一语言的构成要素变量不包括空指...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。