Rexx (Restructured Extended Executor) wurde 1979 von Mike Cowlishaw bei IBM entwickelt — zuerst für VM/CMS, später für TSO/E und OS/2. Die interpretierte Sprache wurde als leicht lesbare Skript- und „Klebe"-Sprache konzipiert und gilt als der Vorfahre moderner Glue-Sprachen.

Erste Schritte

/* Hello World in Rexx */
SAY 'Wie heißt du?'
PULL name
SAY 'Hallo, ' name '!'
DO i = 1 TO 3
  SAY i
END

Wichtige Konstrukte

  • SAY — Ausgabe; PULL — Eingabe aus dem Tastatur- bzw. Datenpuffer
  • Compound Variables (Stems) — dynamische Felder wie liste.1, liste.2; liste.0 zählt Einträge
  • PARSE — Strings nach Mustern zerlegen (z.B. PARSE VAR zeile vorname nachname)
  • DO i = 1 TO n mit END — Schleifen; IF/THEN/ELSE — Bedingungen
  • ADDRESS — Befehle an die Host-Umgebung (z.B. ADDRESS TSO, ADDRESS CMS)
  • QUEUE — Daten in die Warteschlange legen; Built-ins wie WORDS, SUBSTR, TRANSLATE

Praxis

Rexx ist als Object Rexx (1994) und ooRexx sowie als portable Implementierung Regina frei verfügbar. Auf z/OS dient es bis heute als System-Kommando- und Automatisierungssprache.

Verwandte Einträge: PL/I-Befehle und RPG-Befehle (IBM-Sprachfamilie), Bash-Befehle (Unix-Pendant), Tcl-Befehle (weitere Glue-Sprache).