RexxLang Compact Rexx (CRX)

In the years around 1999 Brian Marks, the Editor of the X3.274 ANSI Standard for Rexx, wrote Compact Rexx (CRX). This was written to validate the ANSI Rexx Standard and its Errata.

Brian has collected together the documentation, source code, tools, tests, and other information related to CRX in the CRX.zip zip file (28 MB).

Here is the top-level README.TXT from the zip file:

"The past is a foreign country; they do things differently there."

The zip file comprises the record of "Compact Rexx" (CRX) which was
written in the years around 1999 to validate the ANSI Rexx Standard
and its Errata.  CRX has served its purpose in that respect. It is a
40000 byte CRX.EXE made from 13000 hand coded assembler lines (with
sometimes more than one machine instruction per line) and 3000
machine generated assembler lines.  There are 18000 lines of source
for tools that make the 3000 from the contents of the Standard.  This
would be a poor balance if one just wanted another Rexx interpreter
-- it reflects the intent to take the Standard to execution with
minimal human distortion.

Here is info which might help you decide whether it is worth looking
at it.

All readers now interested in CRX will benefit from at least skim
reading:

 -- The Standard. http://www.rexxla.org/rexxlang/standards/j18pub.pdf
 -- Relevant papers presented at Rexx Symposia. (Here in \crx1999\symposia\)

If your interest is only in something that will execute in a DOS 16
bit environment, take CRX.EXE from here. Put it where your PATH sees
it and use it like CRX yourprog yourargs.  (The readme has more
detail on what systems can run 16 bit programs.)

If your interest is in what it can do, or in test cases for the ANSI
standard, consider folder crx1999\TESTS\.  Note that if there is no
test for a Rexx feature, CRX probably does not handle it.  What the
Standard defined as mostly configuration specific, e.g. the action of
the STREAM builtin, CRX did not implement.

If your interest is in tools and coding styles for 1990's DOS
Assembler code then consider folder CRX1999\ASM. This has the
material to reproduce the old CRX.exe today, using the ancient tools
in a DOS environment.  If you delete the .OBJ files and run NMAKE
CRX.MK all the non-source files (.LST .EXE .MAP .OBJ) will be
recreated (provided you have MASM 6.11 installed and the provided
as2asm.exe available).  Note that some of the assembler code was
machine generated.  The issue of reproducing the tools that made the
machine generated Assembler code is covered in CRX1999\TOOLs

If your interest is in compiler technology and the CRX structure,
consider folder CRX2011.  This duplicates the CRX1999\Tools but with
using the Studio Express 2010 IDE)

If your interest is in upgrading CRX, in function or to 32/64 bit
execution, consider folder CRX2012 which is commentary on the
potential problems.

There are READMEs in all the folders.


Please send any corrections or additions to Mike Cowlishaw,  mfc@speleotrove.com.