[发明专利]程序语言转换方法、装置和转换设备有效
申请号: | 202010058403.7 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111309301B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 钟永红 | 申请(专利权)人: | 广东三维家信息科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 董艳芳 |
地址: | 510000 广东省广州市天河区天河软件园*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序语言 转换 方法 装置 设备 | ||
本发明提供了一种程序语言转换方法、装置和转换设备,涉及计算机技术领域,方法包括:基于目标程序确定针对Typescript语言的逻辑语法树;基于Typescript语言与Haxe语言的语法特征,确定Typescript语言与Haxe语言的映射关系;其中,语法特征包括类型、关键字、运算符、类型断言、语法和函数的一种或多种;基于逻辑语法树与映射关系,将目标程序转换为Haxe语言。本发明解决了由Typescript语言向Haxe语言进行转换的问题,同时提高了工作效率和代码转换的稳定性。
技术领域
本发明涉及计算机技术领域,尤其是涉及一种程序语言转换方法、装置和转换设备。
背景技术
目前,互联网公司需要根据产品的使用及更新情况不断地进行技术迭代,程序架构也需要随之不断地进行调整。同时,根据需求改变编码的主要语言也是十分必要的。由于很多程序架构的代码量已经十分的庞大,因此利用新的编程语言重新进行编程耗时耗力,同时也会影响目前代码的业务运作。
Haxe是一门新兴的开源编程语言,是一种多平台语言,使用Haxe开发的程序可以被编译成JavaScript、Flash、NekoVM、PHP、C++、C#和Java,但是目前并未有将typescript语言转换成Haxe的方法。
发明内容
本发明的目的在于提供一种程序语言转换方法、装置和转换设备,解决了由Typescript语言向Haxe语言进行转换的技术问题,同时提高了工作效率和代码转换的稳定性。
第一方面,实施例提供一种程序语言转换方法,所述方法包括:基于目标程序确定针对Typescript语言的逻辑语法树;基于所述Typescript语言与Haxe语言的语法特征,确定所述Typescript语言与所述Haxe语言的映射关系;其中,所述语法特征包括类型、关键字、运算符、类型断言、语法和函数的一种或多种;基于所述逻辑语法树与所述映射关系,将所述目标程序转换为所述Haxe语言。
在可选的实施方式中,所述逻辑语法树包括多个节点;所述方法还包括:对所述逻辑语法树的所述节点进行遍历,并确定每个所述节点携带的节点信息;其中,所述节点信息包括至少一种以下参数:文件信息、命名空间、import信息、类、类的成员、函数的组成部分。
在可选的实施方式中,所述基于所述目标程序确定所述Typescript语言的逻辑语法树的步骤,包括:通过指定的命令编译所述目标程序,并判断所述目标程序是否编译成功;如果是,基于所述目标程序形成所述Typescript语言的逻辑语法树。
在可选的实施方式中,所述确定所述Typescript语言与所述Haxe语言的映射关系的步骤,包括:基于所述逻辑语法树的所述节点信息,确定所述Typescript语言与所述Haxe语言的映射关系。
在可选的实施方式中,所述基于所述逻辑语法树与所述映射关系,将所述目标程序转换为所述Haxe语言的步骤,包括:基于所述逻辑语法树的节点信息及所述映射关系,将所述目标程序转换为所述Haxe语言。
在可选的实施方式中,所述方法还包括:针对所述Typescript语言的所述类型断言,按照预设的方式对所述Haxe语言进行类型转换。
在可选的实施方式中,所述方法还包括:在所述Haxe语言中,通过指定的接口实现所述Typescript语言的所述运算符的操作。
第二方面,实施例提供一种程序语言转换装置,所述装置应用于将目标程序由Typescript语言向Haxe语言进行转换的场景,所述装置包括:第一确定模块,用于基于所述目标程序确定所述Typescript语言的逻辑语法树;第二确定模块,用于基于所述Typescript语言与所述Haxe语言的语法特征,确定所述Typescript语言与所述Haxe语言的映射关系;其中,所述语法特征包括类型、关键字、运算符、类型断言、语法和函数的一种或多种;转换模块,用于基于所述逻辑语法树与所述映射关系,将所述目标程序转换为所述Haxe语言。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东三维家信息科技有限公司,未经广东三维家信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010058403.7/2.html,转载请声明来源钻瓜专利网。