[发明专利]用于传统程序语言向现代程序语言转换的方法及其系统有效
申请号: | 201711009889.X | 申请日: | 2017-10-25 |
公开(公告)号: | CN107861728B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 郑茂中;谢粮海 | 申请(专利权)人: | 深圳四方精创资讯股份有限公司 |
主分类号: | G06F8/51 | 分类号: | G06F8/51 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 周文乾 |
地址: | 518000 广东省深圳市南山区科技中二路深圳软件*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 传统 程序语言 现代 转换 方法 及其 系统 | ||
1.用于传统程序语言向现代程序语言转换的方法,其特征在于,所述方法包括:
获取需要转换的COBOL源码以及对应的配置规则;
将COBOL源码按照对应配置规则转换生成相应的JAVA源码;
对JAVA源码配置基础环境;
获取需要转换的COBOL源码以及对应的配置规则的步骤,包括以下具体步骤:
加载配置文件,读取配置文件内的配置数据;
根据配置数据读入需要转换的COBOL源码;
加载配置文件,读取配置文件内的配置数据的步骤中,所述配置数据包括配置参数、转换模板信息以及运行参数;
将COBOL源码按照对应配置规则转换生成相应的JAVA源码的步骤,包括以下具体步骤:
根据COBOL关键字、CICS关键字以及SQL关键字对COBOL源码进行逐行代码解析,生成语法分析文件;
分析语法分析文件中语法关键字,生成语法树;
对语法树进行对应语法转换,生成目标代码Map数组;
根据目标代码Map数组,对照关联的不同转换模板信息,生成不同的JAVA目标文件;
将转换过程写入转换日志;
对语法树进行对应语法转换,生成目标代码Map数组的步骤,包括以下具体步骤:
将语法树内的COBOL命名的变量按照驼峰命名法转换为JAVA变量名;
对语法树的语句进行转换,结合JAVA变量名,形成目标代码Map数组;
根据目标代码Map数组,对照关联的不同转换模板信息,生成不同的JAVA目标文件的步骤,包括以下具体步骤:
将目标代码Map数组内的COBOL程序数据部数据项定义将转换成JavaBean,并生成get()、set()及initalize()方法;
将数据部中的COPYBOOK转换生成单独的JavaBean;
对COBOL程序过程部转换成Txn Handler类,过程部中段转换成对应的JAVA方法,并根据配置文件对程序流程进行重组;
对JAVA源码配置基础环境的步骤,包括以下具体步骤:
对JAVA源码进行数据类型的封装;
配置JAVA源码运行所需的方法接口;
具体的,转换的JAVA代码使用的是Union系列实现类数据,包含了指针、压缩型、数字型、字符型的COBOL的数据类型;数据类型的封装过程中,MutableField抽象接口类作为数值和字符类型对应变量的基础类,MutableField抽象接口类抽象出数字和字符类型的对应变量的三种方法包含set/get/length;设计MutableData抽象接口类作为组合变量的基础类。
2.用于传统程序语言向现代程序语言转换的系统,其特征在于,包括获取单元、转换单元以及配置单元;
所述获取单元,用于获取需要转换的COBOL源码以及对应的配置规则;
所述转换单元,用于将COBOL源码按照对应配置规则转换生成相应的JAVA源码;
所述配置单元,用于对JAVA源码配置基础环境;
所述配置单元包括封装模块以及接口配置模块;封装模块,用于对JAVA源码进行数据类型的封装;具体的,转换的JAVA代码使用的是Union系列实现类数据,包含了指针、压缩型、数字型、字符型的COBOL的数据类型;数据类型的封装过程中,MutableField抽象接口类作为数值和字符类型对应变量的基础类,MutableField抽象接口类抽象出数字和字符类型的对应变量的三种方法包含set/get/length;设计MutableData抽象接口类作为组合变量的基础类;接口配置模块,用于配置JAVA源码运行所需的方法接口。
3.根据权利要求2所述的用于传统程序语言向现代程序语言转换的系统,其特征在于,所述获取单元包括加载模块以及读入模块;
所述加载模块,用于加载配置文件,读取配置文件内的配置数据;
所述读入模块,用于根据配置数据读入需要转换的COBOL源码。
4.根据权利要求3所述的用于传统程序语言向现代程序语言转换的系统,其特征在于,所述转换单元包括代码解析模块、语法树生成模块、目标代码生成模块、目标文件生成模块以及写入模块;
所述代码解析模块,用于根据COBOL关键字、CICS关键字以及SQL关键字对COBOL源码进行逐行代码解析,生成语法分析文件;
所述语法树生成模块,用于分析语法分析文件中语法关键字,生成语法树;
所述目标代码生成模块,用于对语法树进行对应语法转换,生成目标代码Map数组;
所述目标文件生成模块,用于根据目标代码Map数组,对照关联的不同转换模板信息,生成不同的JAVA目标文件;
所述写入模块,用于将转换过程写入转换日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳四方精创资讯股份有限公司,未经深圳四方精创资讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711009889.X/1.html,转载请声明来源钻瓜专利网。