The process of compiling a REXX™ source program and then link-editing
the object deck into a load module is basically the same as it is for COBOL.
A REXX program
compiled under z/OS® can
run under z/VM®.
Similarly, a REXX program
compiled under z/VM can
run under z/OS.
A REXX program
compiled under z/OS or z/VM can
run under z/VSE™ if
REXX/VSE is installed.
There are three main components of the REXX language when using a compiler:
- IBM® Compiler
for REXX on zSeries®.
The Compiler translates REXX source programs into compiled programs.
- IBM Library
for REXX on zSeries.
The Library contains routines that are called by compiled programs at run-time.
- Alternate Library. The Alternate Library contains a language processor
that transforms the compiled programs and runs them with the interpreter.
It can be used by z/OS and z/VM users who do not have the IBM Library for REXX on zSeries to
run compiled programs.
The Compiler and Library run on z/OS systems with TSO/E, and under CMS
on z/VM systems.
The IBM Library
for REXX in
REXX/VSE runs under z/VSE.
The Compiler can produce output in the following forms:
- Compiled EXECs. These EXECs behave exactly like interpreted REXX programs.
They are invoked the same way by the system's EXEC handler, and the search
sequence is the same. The easiest way of replacing interpreted programs with
compiled programs is by producing compiled EXECs. Users need not know whether
the REXX programs
they use are compiled EXECs or interpretable programs. Compiled EXECs can
be sent to z/VSE to
be run there.
- Object decks under z/OS or TEXT files under z/VM.
- A TEXT file is an object code file whose external references have not
been resolved (this term is used on z/VM only). These must be transformed into
executable form (load modules) before they can be used. Load modules and MODULE
files are invoked the same way as load modules derived from other compilers,
and the same search sequence applies. However, the search sequence is different
from that of interpreted REXX programs and compiled EXECs. These load modules
can be used as commands and as parts of REXX function packages. Object decks or
MODULE files can be sent to z/VSE to build phases.
- IEXEC output. This output contains the expanded source of the REXX program being
compiled. Expanded means that the main program and all the parts included
at compilation time by means of the %INCLUDE directive are
contained in the IEXEC output. Only the text within the specified margins
is contained in the IEXEC output. Note, however, that the default setting
of MARGINS includes the entire text in the input records.
Related reading: You can find more information about REXX in the following
publications:
Also, visit the following Web site:
http://www-306.ibm.com/software/awdtools/rexx/