NetRexx ist eine von Mike Cowlishaw bei IBM entwickelte Variante von REXX, die direkt auf der Java-Plattform läuft. Der NetRexx-Übersetzer erzeugt aus dem Quelltext Java-Quellcode und daraus Java-Bytecode, sodass NetRexx-Programme wie normale Java-Klassen starten. Eine Besonderheit ist, dass NetRexx keine reservierten Schlüsselwörter kennt: Namen für Klassen und Methoden werden aus dem Kontext erkannt.

Übersetzen und Ausführen

Ein NetRexx-Programm liegt in einer Datei mit der Endung .nrx. Der Übersetzer heißt NetRexxC und wird als Java-Klasse aufgerufen:

java COM.ibm.netrexx.process.NetRexxC hello.nrx
java hello

Die erste Zeile übersetzt die Datei in eine Java-Klasse, die zweite startet das Programm. Optionen wie -format (Quelltext formatieren) oder -utf8 stehen vor oder nach der Dateiangabe.

Syntax im REXX-Stil

NetRexx behält die vertraute REXX-Syntax bei: SAY gibt Text aus, DO/END bilden Schleifen und Blöcke, IF/THEN/ELSE steuern den Ablauf. Da das Java-Objektmodell zugrunde liegt, lassen sich Java-Klassen direkt verwenden, etwa für Ein-/Ausgabe oder Datumsfunktionen.

say 'Hallo von NetRexx'
do i = 1 to 5
  say i
end

Verbreitung und Pflege

IBM übergab den Quellcode von NetRexx 3.00 im Juni 2011 an die Rexx Language Association (RexxLA), die den Übersetzer seither als Open Source pflegt. Die Jar-Dateien NetRexxC (Compiler) und NetRexxR (Interpreter) werden im Projektverzeichnis der RexxLA gebaut und verteilt.

Verwandte Grundlagen: Rexx-Befehle, ooRexx-Befehle, Regina-Befehle.