[发明专利]一种不同编程语言的转换方法及装置有效
| 申请号: | 201911400722.5 | 申请日: | 2019-12-30 |
| 公开(公告)号: | CN111240681B | 公开(公告)日: | 2023-08-15 |
| 发明(设计)人: | 陈盼盼 | 申请(专利权)人: | 瑞庭网络技术(上海)有限公司 |
| 主分类号: | G06F8/40 | 分类号: | G06F8/40 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 200120 上海市浦东新区中国(上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 不同 编程 语言 转换 方法 装置 | ||
本发明实施例提供了一种不同编程语言的转换方法及装置。该方法包括:获取初始功能代码中每个类对应的元数据;其中,初始功能代码为包括多个不同类型的类的符合第一编程语言规范的代码;将与关键字相同的代码调整为与关键字不同的代码,将相同的方法名代码调整为不同的方法名代码,得到中间元数据;对中间元数据中的类进行注册,并对中间元数据中的泛型、基类以及枚举类分别进行差异化处理,得到符合第二编程语言规范的目标元数据;将目标元数据录入预设模板中,生成目标功能代码。本发明实施例可以将符合第一程序语言规范的功能代码,自动转换为符合第二编程语言规范的功能代码,整个转换过程方便简单,同时也解决了人工转换带来的各种问题。
技术领域
本发明涉及编程语言转换领域,尤其涉及一种不同编程语言的转换方法及装置。
背景技术
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。也因此使得Java成为目前最为流行的编程语言之一。PHP(超文本预处理器,PHP:HypertextPreprocessor)是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。
目前好多软件项目采用Java编写,其中部分功能代码有时候需要应用到其他编程语言的环境中。例如在Java编写的RPC(远程过程调用,Remote Procedure Call)服务中的客户端代码。
然而采用Java编写的客户端代码在PHP编程语言的环境中是无法直接被使用的。所以通常是由PHP软件工程师人工编写PHP版本的客户端代码。但人工编写的方式对软件工程师要求比较高,编写难度大、编写耗时长,同时也需要极大的学习成本。
发明内容
本发明实施例提供一种不同编程语言的转换方法及装置,以解决现有技术中人工实现Java代码转PHP代码,导致的难度大、耗时长、出错率高的问题。
第一方面,本发明实施例提供了一种不同编程语言的转换方法,所述方法包括:
获取初始功能代码中每个类对应的元数据;其中,所述初始功能代码为包括多个不同类型的类的符合第一编程语言规范的代码;
检测所述元数据中是否存在与预设信息表中的关键字相同的代码,以及同一类对应的所述元数据中是否存在相同的方法名代码;并将与所述关键字相同的代码调整为与所述关键字不同的代码,将相同的方法名代码调整为不同的方法名代码,得到中间元数据,其中,所述预设信息表中包括第二编程语言中的多个关键字;
对所述中间元数据中的类进行注册,并对所述中间元数据中的泛型、基类以及枚举类分别进行差异化处理,得到符合第二编程语言规范的目标元数据;
将所述目标元数据录入预设模板中,生成目标功能代码,其中所述预设模板为根据所述初始功能代码生成的、符合所述第二编程语言规范的模板。
可选地,所述获取初始功能代码中每个类对应的元数据的步骤包括:
根据所述第一编程语言规范中的反射机制,获取所述初始功能代码中每个类的元数据,并建立元数据与类的对应关系。
可选地,所述检测所述元数据中是否存在与预设信息表中的关键字相同的代码的步骤包括:
依次获取所述预设信息表中的每个关键字,根据预设正则表达式,在所述元数据中查询与每个关键字相同的代码。
可选地,对所述中间元数据中的类进行注册,并对所述中间元数据中的泛型、基类以及枚举类分别进行差异化处理,得到符合第二编程语言规范的目标元数据的步骤包括:
将所述中间元数据中除差异类型外的类转换为符合第二编程语言规范的数据结构,得到第一转换元数据,其中所述差异类型为泛型、基类和枚举类;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞庭网络技术(上海)有限公司,未经瑞庭网络技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911400722.5/2.html,转载请声明来源钻瓜专利网。





