【技术实现步骤摘要】
一种不同编程语言的转换方法及装置
本专利技术涉及编程语言转换领域,尤其涉及一种不同编程语言的转换方法及装置。
技术介绍
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。也因此使得Java成为目前最为流行的编程语言之一。PHP(超文本预处理器,PHP:HypertextPreprocessor)是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。目前好多软件项目采用Java编写,其中部分功能代码有时候需要应用到其他编程语言的环境中。例如在Java编写的RPC(远程过程调用,RemoteProcedureCall)服务中的客户端代码。然而采用Java编写的客户端代码在PHP编程语言的环境中是无法直接被使用的。所以通常是由PHP软件工程师人工编写PHP版本的客户端代码。但人工编写的方式对软件工程师要求比较高,编写难度大、编写耗时长,同时也需要极大的学习成本。 ...
【技术保护点】
1.一种不同编程语言的转换方法,其特征在于,所述方法包括:/n获取初始功能代码中每个类对应的元数据;其中,所述初始功能代码为包括多个不同类型的类的符合第一编程语言规范的代码;/n检测所述元数据中是否存在与预设信息表中的关键字相同的代码,以及同一类对应的所述元数据中是否存在相同的方法名代码;并将与所述关键字相同的代码调整为与所述关键字不同的代码,将相同的方法名代码调整为不同的方法名代码,得到中间元数据,其中,所述预设信息表中包括第二编程语言中的多个关键字;/n对所述中间元数据中的类进行注册,并对所述中间元数据中的泛型、基类以及枚举类分别进行差异化处理,得到符合第二编程语言规范 ...
【技术特征摘要】
1.一种不同编程语言的转换方法,其特征在于,所述方法包括:
获取初始功能代码中每个类对应的元数据;其中,所述初始功能代码为包括多个不同类型的类的符合第一编程语言规范的代码;
检测所述元数据中是否存在与预设信息表中的关键字相同的代码,以及同一类对应的所述元数据中是否存在相同的方法名代码;并将与所述关键字相同的代码调整为与所述关键字不同的代码,将相同的方法名代码调整为不同的方法名代码,得到中间元数据,其中,所述预设信息表中包括第二编程语言中的多个关键字;
对所述中间元数据中的类进行注册,并对所述中间元数据中的泛型、基类以及枚举类分别进行差异化处理,得到符合第二编程语言规范的目标元数据;
将所述目标元数据录入预设模板中,生成目标功能代码,其中所述预设模板为根据所述初始功能代码生成的、符合所述第二编程语言规范的模板。
2.根据权利要求1所述的方法,其特征在于,所述获取初始功能代码中每个类对应的元数据的步骤包括:
根据所述第一编程语言规范中的反射机制,获取所述初始功能代码中每个类的元数据,并建立元数据与类的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述检测所述元数据中是否存在与预设信息表中的关键字相同的代码的步骤包括:
依次获取所述预设信息表中的每个关键字,根据预设正则表达式,在所述元数据中查询与每个关键字相同的代码。
4.根据权利要求1所述的方法,其特征在于,对所述中间元数据中的类进行注册,并对所述中间元数据中的泛型、基类以及枚举类分别进行差异化处理,得到符合第二编程语言规范的目标元数据的步骤包括:
将所述中间元数据中除差异类型外的类转换为符合第二编程语言规范的数据结构,得到第一转换元数据,其中所述差异类型为泛型、基类和枚举类;
对所述中间元数据中的实体类进行注册,生成符合第二编程语言规范的注册信息;
分别针对所述泛型和所述基类,在所述注册信息中添加标识字段并进行赋值,将添加有标识字段并赋值的注册信息作为第二转换元数据;
根据预先生成的符合第二编程语言规范的枚举单例,将所述中间元数据中的枚举类转换为第二编程语言枚举,并将所述第二编程语言枚举作为第三转换元数据;
根据所述第一转换元数据、所述第二转...
【专利技术属性】
技术研发人员:陈盼盼,
申请(专利权)人:瑞庭网络技术上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。