This selection of tables offers a comparion of REXX features across three different environments, TSO/E (both OS/390 and z/OS), VM, and OREXX for Windows. An X in the grid means that the feature is present in the nominated version.
Structure & General Syntax |
||||
Sub-Topic |
OREXX (98/NT) |
TSO/E |
VM CMS |
Notes |
Characters |
X |
X |
X |
  |
Comments |
X |
X |
X |
  |
Tokens |
X |
X |
X |
  |
Implied Semi-colons |
X |
X |
X |
  |
Continuations |
X |
X |
X |
  |
Expressions & Operators |
||||
Expressions |
X |
X |
X |
  |
Operators |
X |
X |
X |
  |
Parenthesis and Operator Precedence |
X |
X |
X |
  |
Clauses & Instructions |
||||
Null Clauses |
X |
X |
X |
  |
Directives |
X |
  |
  |
OREXX Version Only |
Labels |
X |
X |
X |
  |
Instructions |
X |
X |
X |
  |
Assignments |
X |
X |
X |
  |
Message Instructions |
X |
  |
  |
OREXX Version Only |
Keyword Instructions |
X |
X |
X |
  |
Commands |
X |
X |
X |
  |
Assignments & Symbols |
||||
Constant Symbols |
X |
X |
X |
  |
Simple Symbols |
X |
X |
X |
  |
Compound Symbols |
X |
X |
X |
  |
Stems |
X |
X |
X |
  |
Environment Symbols |
X |
  |
  |
OREXX Version Only |
Keyword Instructions |
||||
ADDRESS |
X |
X |
X |
  |
ARG |
X |
X |
X |
  |
CALL |
X |
X |
X |
  |
DO |
X |
X |
X |
  |
DROP |
X |
X |
X |
  |
EXIT |
X |
X |
X |
  |
EXPOSE |
X |
X |
  |
  |
FORWARD |
X |
  |
  |
OREXX Version Only |
GUARD |
X |
  |
  |
OREXX Version Only |
IF |
X |
X |
X |
  |
INTERPRET |
X |
X |
X |
  |
INTERATE |
X |
X |
X |
  |
LEAVE |
X |
X |
X |
  |
NOP |
X |
X |
X |
  |
NUMERIC |
X |
X |
X |
  |
OPTIONS |
  |
X |
X |
Not in OREXX Version |
PARSE |
X |
X |
X |
  |
PROCEDURE |
X |
X |
X |
  |
PULL |
X |
X |
X |
  |
PUSH |
X |
X |
X |
  |
QUEUE |
X |
X |
X |
  |
RAISE |
X |
  |
  |
  |
REPLY |
X |
  |
  |
  |
RETURN |
X |
X |
X |
  |
SAY |
X |
X |
X |
  |
SELECT |
X |
X |
X |
  |
SIGNAL |
X |
X |
X |
  |
TRACE |
X |
X |
X |
  |
UPPER |
  |
X |
X |
  |
USE |
X |
  |
  |
  |
Functions & Subroutines |
||||
Search Order |
  |
X |
X |
  |
Errors during execution |
  |
X |
X |
  |
Built-in Functions |
||||
ABBREV (Abbreviation) |
X |
X |
X |
  |
ABS (Absolute Value) |
X |
X |
X |
  |
ADDRESS |
X |
X |
X |
  |
APILOAD |
  |
  |
X |
VM Version only. |
ARG (Argument) |
X |
X |
X |
  |
BEEP |
X |
  |
  |
OREXX Version Only |
BITAND (Bit by Bit AND) |
X |
X |
X |
  |
BITOR (Bit by Bit OR) |
X |
X |
X |
  |
BITXOR (Bit by Bit Exclusive OR) |
X |
X |
X |
  |
B2X (Binary to Hexadecimal) |
X |
X |
X |
  |
CENTER/CENTRE |
X |
X |
X |
  |
CHANGESTR |
X |
  |
  |
OREXX Version Only |
CHARIN (Character Input) |
X |
  |
X |
  |
CHAROUT (Character Output) |
X |
  |
X |
  |
CHARS (Characters Remaining) |
X |
  |
X |
  |
CMSFLAG |
  |
  |
X |
VM Version Only |
COMPARE |
X |
X |
X |
  |
CONDITION |
X |
X |
X |
  |
COPIES |
X |
X |
X |
  |
COUNTSTR |
X |
  |
  |
OREXX Version Only |
CSL |
  |
  |
X |
VM Version Only |
C2D (Character to Decimal) |
X |
X |
X |
  |
C2X (Character to Hexadecimal) |
X |
X |
X |
  |
DATATYPE |
X |
X |
X |
  |
DATE |
X |
X |
X |
  |
DBCS (Double-Byte Character Set) |
  |
X |
X |
Not in OREXX Version |
DELSTR (Delete String) |
X |
X |
X |
  |
DELWORD (Delete Word) |
X |
X |
X |
  |
DIAG/DIAGRC |
  |
  |
X |
VM Version Only |
DIGITS |
X |
X |
X |
  |
DIRECTORY |
X |
  |
  |
OREXX Version Only |
D2C (Decimal to Character) |
X |
X |
X |
  |
D2X (Decimal to Hexadecimal) |
X |
X |
X |
  |
ERRORTEXT |
X |
X |
X |
  |
EXTERNALS |
  |
X |
X |
Not in OREXX Version. |
FILESPEC |
X |
  |
  |
OREXX Version Only |
FIND |
  |
X |
X |
Not in OREXX Version. |
FORM |
X |
X |
X |
  |
FORMAT |
X |
X |
X |
  |
FUZZ |
X |
X |
X |
  |
GETMSG |
  |
X |
  |
TSO/E Version Only |
INDEX |
  |
X |
X |
  |
INSERT |
X |
X |
X |
  |
JUSTIFY |
  |
X |
X |
Not in OREXX Version. |
LASTPOS (Last Position) |
X |
X |
X |
  |
LEFT |
X |
X |
X |
  |
LENGTH |
X |
X |
X |
  |
LINEIN (Line Input) |
X |
  |
X |
Not in TSO/E Version |
LINEOUT (Line Output) |
X |
  |
X |
Not in TSO/E Version |
LINES (Lines Remaining) |
X |
  |
X |
Not in TSO/E Version |
LINESIZE |
  |
X |
X |
Not in OREXX Version. |
LISTDSI |
  |
X |
  |
TSO/E Version Only |
MAX (Maximum) |
X |
X |
X |
  |
Min (Minimum) |
X |
X |
X |
  |
MSG |
  |
X |
  |
TSO/E Version Only |
MSGVAR |
  |
X |
  |
TSO/E Version Only |
OUTTRAP |
  |
X |
  |
TSO/E Version Only |
OVERLAY |
X |
X |
X |
  |
POS (Position) |
X |
X |
X |
  |
PROMPT |
  |
X |
  |
TSO/E Version Only |
QUEUED |
X |
X |
X |
  |
RANDOM |
X |
X |
X |
  |
REVERSE |
X |
X |
X |
  |
RIGHT |
X |
X |
X |
  |
SETLANG |
  |
X |
  |
TSO/E Version Only |
SIGN |
X |
X |
X |
  |
SOCKET |
  |
  |
X |
Not TSO/E Version. |
SOURCELINE |
X |
X |
X |
  |
SPACE |
X |
X |
X |
  |
STORAGE |
  |
X |
X |
Not in OREXX Version |
STREAM |
X |
  |
X |
Not TSO/E Version. |
STRIP |
X |
X |
X |
  |
SUBSTR (Substring) |
X |
X |
X |
  |
SUBWORD |
X |
X |
X |
  |
SYMBOL |
X |
X |
X |
  |
SYSCPUS |
  |
X |
  |
TSO/E Version Only |
SYSDSN |
  |
X |
  |
TSO/E Version Only |
SYSVAR |
  |
X |
  |
TSO/E Version Only |
TIME |
X |
X |
X |
  |
TRACE |
X |
X |
X |
  |
TRANSLATE |
X |
X |
X |
  |
TRUNC (Truncate) |
X |
X |
X |
  |
USERID |
  |
X |
X |
Not in OREXX Version. |
VALUE |
X |
X |
X |
  |
VERIFY |
X |
X |
X |
  |
WORD |
X |
X |
X |
  |
WORDINDEX |
X |
X |
X |
  |
WORDLENGTH |
X |
X |
X |
  |
WORDPOS (Word Position) |
X |
X |
X |
  |
WORDS |
X |
X |
X |
  |
XRANGE (Hexadecimal Range) |
X |
X |
X |
  |
X2B (Hexadecimal to Binary) |
X |
X |
X |
  |
X2C (Hexadecimal to Character) |
X |
X |
X |
  |
X2D (Hexadecimal to Decimal) |
X |
X |
X |
  |
Parsing |
||||
Simple Templates - Into Words |
  |
  |
X |
  |
Templates containing String Patterns |
  |
  |
X |
  |
Templates with Positional Patterns |
  |
X |
X |
  |
Parsing with variable Patterns |
  |
X |
X |
  |
Using UPPER |
  |
  |
X |
  |
Parsing Multiple Strings |
  |
X |
X |
  |
Combining String & Positional |
  |
X |
X |
  |
Parsing with DBCS Characters |
  |
X |
X |
  |
Numbers and Arithmetic |
||||
Numbers |
  |
X |
X |
  |
Precision |
  |
X |
X |
  |
Arithmetic Operators |
  |
X |
X |
  |
Rules - Basic Operators |
  |
X |
X |
  |
Rules - Additional Operators |
  |
X |
X |
  |
Numeric Comparisons |
  |
X |
X |
  |
Exponential Notation |
  |
X |
X |
  |
Numeric Information |
  |
X |
X |
  |
Whole Numbers |
  |
X |
X |
  |
Numbers used directly by REXX |
  |
X |
X |
  |
Data Stack Management |
||||
LIFO & FIFO stacking |
  |
X |
  |
  |
Avoiding the stack |
n/a |
X |
  |
  |
PUSH |
  |
X |
  |
  |
QUEUE |
  |
X |
  |
  |
Reading from the stack |
n/a |
X |
  |
  |
PARSE PULL |
  |
X |
  |
  |
creating & managing stack extensions |
n/a |
X |
  |
  |
MAKEBUF |
n/a |
X |
  |
  |
QBUF |
n/a |
X |
  |
  |
DROPBUF |
n/a |
X |
  |
  |
Interrogating the stack |
n/a |
X |
  |
  |
QUEUED |
n/a |
X |
  |
  |
QELEM |
n/a |
X |
  |
  |
creating & managing private stacks |
n/a |
X |
  |
  |
NEWSTACK |
  |
X |
  |
  |
DELSTACK |
n/a |
X |
  |
  |
QSTACK |
n/a |
X |
  |
  |
Reading & writing - EXECIO |
n/a |
X |
  |
  |
Sub-routines & functions |
||||
Internal & External sub-routines |
  |
X |
  |
  |
How to create them |
  |
X |
  |
  |
Passing arguments & results |
  |
X |
  |
  |
CALL |
  |
X |
  |
  |
RETURN |
  |
X |
  |
  |
EXIT |
  |
X |
  |
  |
PROCEDURE |
  |
X |
  |
  |
RESULT |
  |
X |
  |
  |
Tracing & debugging |
||||
Using the TRACE instruction |
  |
X |
  |
  |
Using immediate commands |
  |
X |
  |
  |
HI |
  |
X |
  |
  |
HT |
  |
X |
  |
  |
TE |
  |
X |
  |
  |
TS |
  |
X |
  |
  |
Use of EXECUTIL |
  |
X |
  |
  |
Interpreting TRACE output |
  |
X |
  |
  |