专利名称 ---【 一种遗产代码向现代语言变换过程中的控制流变换方法 】

基本信息
申请号
CN200410030988.2
申请日
20040405
公开(公告)号
CN100337203C
公开(公告)日
20051012
申请(专利权)人
中国科学院计算技术研究所
申请人地址
100000北京市海淀区中关村科学院南路6号
发明人
武成岗;张兆庆;冯晓兵;石学林;高琳 专利类型 发明专利
摘要
本发明涉及一种遗产代码向现代语言变换过程中的控制流变换方法。该方法包括以下步骤:将COBOL程序的一个“过程”转换成一个Java类;在上述Java类中设置一个“入口函数”;设置上述“入口函数”的内容;对COBOL程序的段名进行编号;对COBOL过程体结构进行处理:对PERFORM语句进行处理:对GOTO语句进行处理:对PERFORM语句进行处理:当遇到PERFORM语句时,将其翻译为:执行函数,包括其入口,出口对应的编号,参数列表;在每个段尾增加一条语句:if(出口点=本段编号)return。在遗产代码向现代语言变换过程中利用高级语言的switch和while语句来同时消除GOTO和PERFORM复合控制结构。该方法不改变程序的结构,保持了程序可读性,并较好地控制了代码膨胀。
主权项
1、一种遗产代码向现代语言变换过程中的控制流变换方法,其特征在于包括以下步 骤: a)将COBOL程序的一个过程转换成一个Java类; b)在上述Java类中建立一个入口函数,该函数的参数列表对应于原COBOL过程的参 数列表; c)建立入口函数的内容,入口函数中包含一条复合语句,用于对另一个执行函数进行 调用,并捕捉所述执行函数在运行结束时抛出的例外,所述执行函数用于实现COBOL过程 的过程体; d)对COBOL中的段名进行编号; e)对过程体结构进行如下处理:将整个程序置于执行函数中的一个循环中,在循环 体中设置一个switch语句,以标号变量作为switch跳转条件,其中switch语句的每条 case子句依次对应于COBOL程序中的一个段标号,其后面的代码对应于一个段的内容; f)、检查每个COBOL段中的语句,如果遇到GOTO语句,则执行步骤g),如果遇到 PERRORM语句,则执行步骤h);如果在COBOL程序段的末尾,则执行步骤i); g)对GOTO语句进行处理:将GOTO语句中所要跳转的目标语句的编号赋予switch语 句的标号变量,然后结束当前的switch语句的执行; h)对PERFORM语句进行处理:递归调用步骤c)中所述的执行函数,该函数将原 PERFORM语句出、入口所对应的段编号作为第一个参数,将原COBOL过程的参数列表作为 第二个参数; i)在每个段尾判断出口点是否等于本COBOL程序段的编号,如果是,则退出入口函数。

 

IPC信息
IPC主分类号
G06F9/45

 

法律状态信息
法律状态公告日
20051012
法律状态
公开 法律状态信息
CN200410030988 20051012 公开 公开
法律状态公告日
20051207
法律状态
实质审查的生效 法律状态信息
CN200410030988 20051207 实质审查的生效
法律状态公告日
20070912
法律状态
授权 法律状态信息
CN200410030988 20070912 授权 授权

 

代理信息
代理机构名称
北京泛华伟业知识产权代理有限公司 11280
代理人姓名
王凤华


| 联系我们 | 网站地图 | 版权声明 |

版权:中国科学院 主办:中国科学院科技促进发展局 承办:中国科学院成都文献情报中心 蜀ICP备05003827号-12

建议使用1024×768 分辨率 IE6.0以上版本浏览器