Rexx

Rexx
Paradigmmultiparadigm: procedural, structured
Designed byMike Cowlishaw
DeveloperMike Cowlishaw, IBM
First appeared1979; 45 years ago (1979)
Stable release
ANSI X3.274 / 1996; 28 years ago (1996)
Typing disciplineDynamic
Filename extensions.cmd, .bat, .exec, .rexx, .rex, EXEC
Major implementations
VM/SP R3,[1] TSO/E V2,[2] SAAREXX,[3][4] ARexx, BREXX, Regina,[5] Personal REXX, REXX/imc
Dialects
NetRexx, Object REXX, now ooREXX, KEXX
Influenced by
PL/I, ALGOL, EXEC, EXEC 2
Influenced
NetRexx, Object REXX

Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw.[6][7] It is a structured, high-level programming language designed for ease of learning and reading. Proprietary and open source Rexx interpreters exist for a wide range of computing platforms; compilers exist for IBM mainframe computers.[8]

Rexx is a full language that can be used as a scripting, macro language, and application development language. It is often used for processing data and text and generating reports; this means that Rexx works well in Common Gateway Interface (CGI) programming and is used for this purpose, like later languages such as Perl. Rexx is the primary scripting language in some operating systems, e.g. OS/2, MVS, VM, AmigaOS, and is also used as an internal macro language in some other software, such as SPF/PC, KEDIT, THE and the ZOC terminal emulator. Additionally, the Rexx language can be used for scripting and macros in any program that uses Windows Scripting Host ActiveX scripting engines languages (e.g. VBScript and JScript) if one of the Rexx engines is installed.

Rexx is supplied with VM/SP Release 3 on up, TSO/E Version 2 on up, OS/2 (1.3 and later, where it is officially named Procedures Language/2), AmigaOS Version 2 on up, PC DOS (7.0 or 2000), ArcaOS,[9] and Windows NT 4.0 (Resource Kit: Regina). REXX scripts for CMS share the filetype EXEC with EXEC and EXEC2, and the first line of the script specifies the interpreter to be used. REXX scripts for MVS may[a] be recognized by the low level qualifier EXEC or may[b] be recognized by context and the first line. REXX scripts for OS/2 share the filename extension .cmd with other scripting languages, and the first line of the script specifies the interpreter to be used. REXX macros for REXX-aware applications use extensions determined by the application. In the late 1980s, Rexx became the common scripting language for IBM Systems Application Architecture, where it was renamed "SAA Procedure Language REXX".

In mainframe programming, a Rexx script or command is sometimes referred to as an EXEC in a nod to the CMS file type used for EXEC,[10] EXEC 2[11] and REXX scripts on CP/CMS and VM/370 through z/VM.

  1. ^ Virtual Machine/System Product - System Product - Interpreter Reference - Release 3 (PDF) (First ed.). IBM. September 1983. SC24-5239-0. Retrieved November 6, 2024.
  2. ^ TSO Extensions Version 2 - Procedures Language MVS/REXX Reference (PDF) (Fifth ed.). IBM. August 1991. SC28-1883-4. Retrieved November 6, 2024.
  3. ^ "Procedures Language". Systems Application Architecture - An Overview (PDF) (First ed.). IBM. May 1987. p. 40. GC26-4341-0. Retrieved November 6, 2024.
  4. ^ Procdeures Language/2 - REXX Reference - Version 2.00 (PDF). OS/2 2.00 - Technical Library (First ed.). IBM. December 1991. S10G-6268-00. Retrieved November 6, 2024.
  5. ^ Mark Hessling (October 25, 2012). "Regina Rexx Interpreter". SourceForge project regina-rexx. Retrieved February 10, 2014.
  6. ^ Cite error: The named reference RexHist was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference RexMay95 was invoked but never defined (see the help page).
  8. ^ "Catalog of All Documents (filter=rexx)". IBM library server. 2005. Archived from the original on February 15, 2013. Retrieved February 10, 2014.
  9. ^ "Does ArcaOS include REXX support?". Retrieved September 3, 2020.
  10. ^ IBM Virtual Machine Facility /370: EXEC User's Guide (PDF) (Second ed.). International Business Machines Corporation. April 1975. GC20-1812-1.
  11. ^ EXEC 2 Reference (PDF) (Second ed.). International Business Machines Corporation. April 1982. p. 92. SC24-5219-1. Archived from the original (PDF) on April 2, 2020. Retrieved March 28, 2019.


Cite error: There are <ref group=lower-alpha> tags or {{efn}} templates on this page, but the references will not show without a {{reflist|group=lower-alpha}} template or {{notelist}} template (see the help page).