REX 2.50 News memo -- 27 October 1981 ===================================== Copyright (c) International Business Machines Corporation, 1981. All Rights Reserved ------------------------------------------------------------------------ REX is a programming language with the function of EXEC but with the style of the more conventional languages such as PL/I or Pascal. It may be used for writing Execs, editor macros, or for any other purpose for which an interpreted simple-to-use language is suitable. REX will coexist with both EXEC and EXEC 2 (i.e. you may start to write Execs in REX without having to rewrite any of your existing Execs). It is fully compatible with XEDIT, so your editor macros may be written in REX too. Typically a macro or Exec written in REX will be two-thirds of the size of the equivalent EXEC or EXEC 2 program. Course notes for an introductory education course on REX are available from Mike Lovelace (HEDA at WINH6). REX is now installed on over 200 machines in IBM. The latest version (2.50) corrects the deficiencies of the language and adds many new features. In addition to the basic set of EXEC-like statements, REX now includes: "Modern" control constructs: If-Then-Else, Do-(Iterate/Forever/While/Until)-End, Select-When-End Full mixed-case support (Execs may be written in mixed case) Arbitrary data lengths - limited only by your virtual machine size Classical expression handling (brackets, operator priorities, etc.) Full decimal (floating point) arithmetic, to arbitrary precision Internal, Built-in, and External functions; and internal subroutines Built-in parsing of argument and other strings Exception handling to trap Command errors, Syntax errors, etc. Commands to CMS with full command resolution Much faster execution speed then EXEC (but usually slower than EXEC 2) Well defined interface for commands to access REX variables Execute-from-storage facility The fifty built-in functions include: String manipulation (SUBSTR, OVERLAY, INSERT, TRANSLATE, etc.) Word handling (SUBWORD, DELWORD, WORD, JUSTIFY, etc.) Conversions (Hex to decimal, pack/unpack, etc) Arithmetic (MIN, MAX, ABS, FORMAT, TRUNC) Miscellaneous (RND random numbers, USERID, TIME, DATE, STORAGE, etc.) The REX package includes: SCRIPT documentation Online (IOSLIB) tutorial/help Exec to install REX and control the tutorial The REX module, and two external function packages Example REX Execs FSX Version 2 (full screen utility with colour support) INSTANT (general immediate command facility) IOX (CMS I/O facility) Several other useful utility modules (Mike Cowlishaw - MFC at WINPA)