[发明专利]程序语言转换方法、装置和转换设备有效
申请号: | 202010058403.7 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111309301B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 钟永红 | 申请(专利权)人: | 广东三维家信息科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 董艳芳 |
地址: | 510000 广东省广州市天河区天河软件园*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序语言 转换 方法 装置 设备 | ||
1.一种程序语言转换方法,其特征在于,所述方法包括:
通过tsc命令编译目标程序,并判断所述目标程序是否编译成功;如果编译成功,基于所述目标程序形成Typescript语言的逻辑语法树;
基于所述Typescript语言与Haxe语言的语法特征,确定所述Typescript语言与所述Haxe语言的映射关系;其中,所述语法特征包括类型、关键字、运算符、类型断言、语法和函数的一种或多种;
基于所述逻辑语法树与所述映射关系,将所述目标程序转换为所述Haxe语言;
以及,针对所述Typescript语言的所述类型断言,将Float型变量A转成Int型为:TS:intA Haxe:Std.int(A)。
2.根据权利要求1所述的方法,其特征在于,所述逻辑语法树包括多个节点;所述方法还包括:
对所述逻辑语法树的所述节点进行遍历,并确定每个所述节点携带的节点信息;其中,所述节点信息包括至少一种以下参数:文件信息、命名空间、import信息、类、类的成员、函数的组成部分。
3.根据权利要求2所述的方法,其特征在于,所述确定所述Typescript语言与所述Haxe语言的映射关系的步骤,包括:
基于所述逻辑语法树的所述节点信息,确定所述Typescript语言与所述Haxe语言的映射关系。
4.根据权利要求3所述的方法,其特征在于,所述基于所述逻辑语法树与所述映射关系,将所述目标程序转换为所述Haxe语言的步骤,包括:
基于所述逻辑语法树的节点信息及所述映射关系,将所述目标程序转换为所述Haxe语言。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述Haxe语言中,通过指定的接口实现所述Typescript语言的所述运算符的操作。
6.一种程序语言转换装置,其特征在于,所述装置应用于将目标程序由Typescript语言向Haxe语言进行转换的场景,所述装置包括:
第一确定模块,用于通过tsc命令编译目标程序,并判断所述目标程序是否编译成功;如果编译成功,基于所述目标程序形成所述Typescript语言的逻辑语法树;
第二确定模块,用于基于所述Typescript语言与所述Haxe语言的语法特征,确定所述Typescript语言与所述Haxe语言的映射关系;其中,所述语法特征包括类型、关键字、运算符、类型断言、语法和函数的一种或多种;
转换模块,用于基于所述逻辑语法树与所述映射关系,将所述目标程序转换为所述Haxe语言;
类型转换模块,用于针对所述Typescript语言的所述类型断言,将Float型变量A转成Int型为:TS:intA Haxe:Std.int(A)。
7.根据权利要求6所述的装置,其特征在于,所述逻辑语法树包括多个节点;所述装置还包括:
第三确定模块,用于对所述逻辑语法树的所述节点进行遍历,并确定每个所述节点携带的节点信息;其中,所述节点信息包括至少一种以下参数:文件信息、命名空间、import信息、类、类的成员、函数的组成部分;
以及,针对所述Typescript语言的所述类型断言,将Float型变量A转成Int型为:TS:intAHaxe:Std.int(A)。
8.一种转换设备,其特征在于,包括处理器和存储器;
所述存储器上存储有计算机程序;所述计算机程序在被所述处理器运行时如权利要求1至5任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东三维家信息科技有限公司,未经广东三维家信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010058403.7/1.html,转载请声明来源钻瓜专利网。