IBM MAINFRAME 平台 REXX 循环控制详解

需积分: 50 5 下载量 196 浏览量 更新于2024-08-16 收藏 1.35MB PPT 举报
"本文主要介绍了如何在IBM Mainframe平台上的REXX编程中确定当前循环,以及REXX语言的基础知识和特点。" 在REXX(RegExeXtended)编程中,循环是程序控制结构的重要组成部分,允许重复执行一段代码直到满足特定条件。在IBM Mainframe环境下的REXX编程中,确定当前循环属于哪个是非常关键的,特别是在处理嵌套循环时。嵌套循环意味着一个循环内包含另一个循环,使得逻辑更加复杂。在给定的例子中,我们看到了两个嵌套的Do循环:一个名为`outer`,另一个名为`inner`。 `Do outer = 1` 开始外部循环,接着内部循环 `Do inner = 1` 在外部循环内部执行。在循环体内部,`If … Then Iterate inner` 指令用于跳过当前`inner`循环的剩余部分并立即开始下一个`inner`循环迭代;`If … Then Iterate outer` 将跳过整个`outer`循环的剩余部分,包括尚未执行的`inner`循环;而 `If … Then Leave inner` 则会结束当前`inner`循环,继续执行`outer`循环的后续部分。 REXX语言是由Mike Cowlishaw在1979年至1982年间在IBM Hursley Labs设计的,其初衷是为了简化编程,适用于个人编程、用户命令定制、宏、原型构建和应用程序开发。REXX现已被广泛应用于多种平台,包括IBM的VM、OS/2、AIX、VSE、OS/390 TSO等,以及非IBM平台如Tandem、VAX、Amiga、UNIX、Linux、Windows(ObjectREXX)和NetRexx。 REXX语言的特点包括其易学易用的语法,自由的格式设计,支持解释执行和编译执行,内置丰富的函数,无类型的变量,强大的解析能力,优秀的调试工具,与其他语言的接口以及高度的可扩展性。在IBM z/OS系统中,REXX被用于命令程序、个人编程、应用启动、原型设计、应用编程,甚至是ISPF编辑宏、ISPF对话框、Netview、CICS、DB2和QMF等多种应用。 解释器与编译器是两种执行REXX程序的方式。解释器在程序运行时逐行解释执行,而编译器则将整个程序转换为机器码,然后一次性执行,通常编译后的程序执行效率更高。 理解如何在REXX中管理循环,特别是嵌套循环,是掌握REXX编程的关键。通过熟练运用`Iterate`和`Leave`指令,程序员可以灵活地控制循环流程,实现复杂的逻辑控制。同时,了解REXX语言的特点和应用背景,有助于提升编程效率和代码质量。