用于程序语言转换的方法、编译方法及相关设备与流程

文档序号:36139542发布日期:2023-11-22 22:52阅读:25来源:国知局
用于程序语言转换的方法与流程

本申请涉及计算机,尤其涉及一种用于程序语言转换的方法、编译方法及相关设备。


背景技术:

1、利用c++语言提供的模板支持,可以在程序编译时,根据给定的模板代码和给定模板实参,编译器会将其实例化,以生成实际代码并编译到二进制程序中。

2、在利用tcl命令调用c++接口函数的应用场景中,需要利用包装函数,将tcl命令行中输入的字符串按某种格式一一转化为c++接口函数的参数类型,从而对c++接口函数进行转调用。若输入信息有误,则需要进行相应的报错处理。c++接口函数调用完成后,若有返回值,则需要将其按某种格式转化为相应的字符串,作为tcl命令的输出结果。

3、然而,包装函数的编写较为繁琐,会增加程序开发人员的负担。如何简化包装函数的编写流程是亟待解决的问题。


技术实现思路

1、有鉴于此,本申请的目的在于提出一种用于程序语言转换的方法、编译方法及相关设备。

2、基于上述目的,本申请第一方面,提供了一种用于程序语言转换的方法,包括:

3、获取目标函数;其中,所述目标函数包括用第一语言编写的调用函数;

4、利用预设的解析模板,解析所述目标函数,以得到所述目标函数的信息;

5、根据所述目标函数的信息,生成包装函数;其中,所述包装函数用于将第二语言的指令转换为对第一语言目标函数的调用。

6、可选地,所述预设的解析模板包括第一解析模板、第二解析模板和第三解析模板;

7、所述利用预设的解析模板,解析所述目标函数,以得到所述目标函数的信息进一步包括:

8、利用所述第三解析模板和所述目标函数的静态信息,将所述第一解析模板和所述第二解析模板实例化,以解析所述目标函数,得到所述目标函数的信息。

9、可选地,所述目标函数的信息包括标识符;所述根据所述目标函数的信息,生成包装函数进一步包括:

10、响应于所述标识符的数量与预设标识符的数量一致,调用第一函数;其中,所述第一函数用于将所述第一语言支持的数据类型转换为所述第二语言支持的数据类型。

11、可选地,所述目标函数的信息还包括参数的类型;所述方法还包括:

12、根据所述参数的类型调用反射模板;其中,所述反射模板定义了所述第一语言的数据结构和所述第二语言的输入信息的转换规则。

13、可选地,所述方法还包括:调用第二语言提供的注册接口在程序中注册所述包装函数。

14、可选地,所述第一语言支持的数据类型包括整型、双精度浮点型、浮点型;所述第二语言支持的数据类型包括字符串型。

15、可选地,所述第一语言包括c++语言,所述第二语言包括tcl语言。

16、本申请第二方面,提供了一种编译方法,包括:

17、获取利用第一语言编写的源代码,所述源代码包括采用如第一方面所述的方法得到的包装函数;

18、将所述源代码编译为目标代码。

19、本申请第三方面,提供了一种计算机设备,包括:

20、一个或者多个处理器、存储器;以及

21、一个或多个程序;

22、其中,所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据如第一方面所述的方法的指令。

23、本申请第四方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行如第一方面所述的方法。

24、从上面所述可以看出,本申请提供的一种用于程序语言转换的方法、编译方法及相关设备,通过预设的解析模板,解析目标函数的信息,其中,所述目标函数包括用第一语言编写的调用函数,以根据目标函数的信息生成用于将第二语言编写的指令转换为第一语言的指令,并根据第一语言的指令调用目标函数的包装函数。利用本申请提供的方法,简化了包装函数的编写流程,减轻了程序开发人员的负担。



技术特征:

1.一种用于程序语言转换的方法,包括:

2.如权利要求1所述的方法,其中,所述预设的解析模板包括第一解析模板、第二解析模板和第三解析模板;

3.如权利要求1所述的方法,其中,所述目标函数的信息包括标识符;所述根据所述目标函数的信息,生成包装函数进一步包括:

4.如权利要求1所述的方法,其中,所述目标函数的信息还包括参数的类型;所述方法还包括:

5.如权利要求1所述的方法,其中,所述方法还包括:

6.如权利要求1-5任一项所述的方法,其中,所述第一语言支持的数据类型包括整型、双精度浮点型、浮点型;所述第二语言支持的数据类型包括字符串型。

7.如权利要求1-5任一项所述的方法,其中,所述第一语言包括c++语言,所述第二语言包括tcl语言。

8.一种编译方法,包括:

9.一种计算机设备,包括:

10.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-8中任一项所述的方法。


技术总结
本申请提供一种用于程序语言转换的方法、编译方法及相关设备,通过预设的解析模板,解析目标函数的信息,其中,所述目标函数包括用第一语言编写的调用函数,以根据目标函数的信息生成用于将第二语言编写的指令转换为第一语言的指令,并根据第一语言的指令调用目标函数的包装函数。利用本申请提供的方法,简化了包装函数的编写流程,减轻了程序开发人员的负担。

技术研发人员:胡浩任
受保护的技术使用者:芯行纪科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1