|
Die besondere Eignung als Kommandosprache bezieht REXX aus dem zweiten oben erwähnten Schwerpunkt, der Interaktion mit der Umgebung. Wenn der Sprachprozessor eine Anweisung (in der REXX-Terminologie "Klausel", engl. "clause" genannt) verarbeitet, die er nicht als gültige Instruktion (DO, CALL etc.) interpretieren kann, so geht der Sprachprozessor davon aus, daß es sich um ein Host-Kommando handelt, und leitet den Befehl weiter. Unter MVS/TSO kann der Sprachprozessor Host Commands an die folgenden Umgebungen abschicken:  | TSO, um beispielsweise ALLOCATE-, FREE-, LISTA-Kommandos abzusetzen
|  | ISPF, damit kann man beispielsweise den Variablen-Pool oder die Library-Management-Dienste in Anspruch nehmen
|  | ISPF-Editor, somit kann man Editor-Makros in REXX schreiben
|  | CONSOLE, damit kann man MVS-MCS- (Multiple Console Support), MVS-System- und MVS-Subsystem-Operating-Kommandos absetzen
|  | MVS, hiermit versteht man einen Satz von REXX-spezifischen Kommandos, in erster Linie "EXECIO" für die Ein- und Ausgabe von Daten CPICOMM, LU62 und APPCMVS
|  | Netview |
Diese Liste ist nicht vollständig. Geht man davon aus, daß diese Umgebungen aus einem einzigen REXX-Programm im Wechsel ansprechbar sind, so vermittelt diese Liste jedoch einen Eindruck von den verschiedenen Einsatzmöglichkeiten eines REXX-Execs (ein REXX-Programm wird häufig "EXEC" genannt).
Die Ergebnisse eines abgesetzten Host-Kommandos kann man zum einen mit der speziellen Variablen "RC" abfragen, die den Return-Code vom Kommando enthält. Zum anderen kann man in der MVS-Umgebung die Funktion OUTTRAP verwenden, um die Ausgabe-Zeilen des Kommandos abzufangen, die normalerweDie Ergebnisse eines abgesetzten Host-Kommandos kann man zum einen mit der speziellen Variablen "RC" abfragen, die den Return-Code vom Kommando enthält.
Zum anderen kann man in der MVS-Umgebung die Funktion OUTTRAP verwenden, um die Ausgabe-Zeilen des Kommandos abzufangen, die normalerweise am Bildschirm ausgegeben werden, und in Exec-interne Variablen zu schreiben. Damit sind solche Zeilen, etwa die Auflistungen von LISTA oder LISTDS, bequem verarbeitbar.
Die kontinuierliche Ausweitung von REXX ließ allerdings bald den Wunsch aufkommen, neben den Interpretern einen Compiler zu haben, und zwar in erster Linie wegen der besseren Performance der kompilierten Programme im Vergleich zu den interpretierten - obwohl REXX als nicht kompilierbar galt. Zunächst wurde eine Machbarkeitsstudie durch die IBM in Israel erstellt. Auf der Basis der Machbarkeitsstudie wurde dann mit der Entwicklung unter der Aufsicht der IBM Österreich, Wien, begonnen.
|