REXX :REXX

更新时间:2023-09-26 10:16

REXX(Restructured Extended Executor)是IBM在1980年代发明的一种程序设计语言。主要用在IBM的大型计算机(Mainframe Computer)上,在VSE、VM、OS/400、AIX、OS/2其他的IBM平台上也可以找到它的解译器或编译器。另有面向对象的版本,成为ObjectRexx。

发展历程

从 Rexx 诞生起,IBM 就将各种版本的 Rexx 加入到它的操作系统中 —— 从主机到中型机再到终端用户操作系统,比如 OS/2 和 PC-DOS。其他 OS 制造商,比如 Amiga,也将 Rexx 作为永远可用的系统脚本语言集成进来。此外,许多独立软件开发商为很多平台创建了 Rexx 环境。再晚些时候,ANSI 于 1996 年正式为 Rexx 采纳了一个标准。

当前(尤其是在 Linux 或者起源于 BSD 的 OS 上),Rexx 的那些大部分早期实现,主要作为历史足迹为人们所关心。不过,两个当前保持的 Rexx 实现可以用于包括 Linux、Mac OSWindows 在内的许多平台:Regina 和NetRexx。Regina 是本地执行文件,以免费软件源代码方式,或者为诸多平台预编译好的方式获得 —— 您可以像安装任何其他语言解释器一样安装它。NetRexx 是一个有趣的“混合物”。此语言派生自普通的 Rexx。更类似于 Jython 或者 Jacl,NetRexx 将类似于 Rexx 源代码编译为 Java 字节代码,并(可选)在 JavaOS 中运行作为结果生成的 .class 文件。

NetRexx 是一个 IBM 项目,用于为 Java 虚拟机编译类似于 Rexx 的代码。在实际能力和编程级别上,Rexx 最接近于 bash 加上 GNU 文件工具(外加 grep 和 sed );或者可能相当于 AwkPerl。当然,相对于 PythonRuby 或者Java 来说,Rexx 让人感觉更为快而粗糙。Rexx 的冗长 —— 或者更应该说是,简洁 —— 类似于 Perl、Python、Ruby 或者 TCL科技。并且,Rexx 当然是完全 Turing 的,支持模块和结构化编程,有面向专门任务的库,例如 GUI 接口、网络编程和数据库访问。但是它最自然的目标在于系统脚本的自动化和本文处理任务。与shell 脚本一起,Rexx 使得应用程序的控制非常自然且显而易见;但相对于 bash (或者 tcsh 、 ksh 等等),Rexx 中包含了更丰富的内置控制结构和(文本处理)函数。

在文体上,Rexx 的 IBM/mainframe 根源体现在它对命令的大小写敏感;在某种次要程度上也体现在它使用标点符号相对较少(更多用关键字而不是符号)。我倾向于认为这些特性的目的是提高可读性;但这在很大程度上取决于个人的爱好。

语言特点

十进制浮点数算术:能准确计算表示和计算0.1之类的数字。

Rexx 一个层次非常高的脚本语言,有特别强大的用于文本处理任务的工具。

语言组成

基本的 REXX 组成包括了指令和内置函数两部分,此外 TSO/E 环境下的 REXX 还提供了外部函数以及数据堆栈函数等。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: