EXEC2(ID:757/exe001)


for EXtended EXecutor 2

CJ Stephenson et al, Watson Labs IBM, late 70's.

from Cowlishaw citation

"In the 1970s, C. J. Stephenson and others at the IBM T. J. Watson Research Center realized that, if applied consistently, this concept of a command programming language was extraordinarily powerful: a single language could provide the extension language--or "macro" language--for a wide variety of applications. They took the EXEC language and generalized and improved it for this enhanced role; the new language was called EXEC 2.

EXEC 2 proved the concept of a general macro language. It was used mostly for writing system commands and macros for a wide variety of editors. Its interpreter was, and probably still is, the finest example of efficient and robust System/370 assembler code.

However, EXEC 2 (like its predecessor and most other macro languages of the 1970s and even early 1980s) assumed that macro programs would be mostly commands, with relatively little "glue" of logic and variables. Accordingly, it was designed to allow commands (literal strings, usually in upper case) to be written plainly, whereas language keywords and variables were identified by a prefix of an ampersand. A command, followed by a test of its result, might look like this:

   COPYFILE &FNAME &FTYPE &FMODE = BACKUP =
   &IF &RC GT 0 &TYPE Copy failed with return code &RC

This style, while adequate for simple commands, proved cumbersome for the large and complex programs and macros that were soon being written in EXEC 2. It became clear to me that a new language was needed, one based on the more classical syntax and semantics used by languages in the tradition of Algol, Pascal, and PL/I, yet including the command and string programming facilities that EXEC 2 had proven to be so effective and powerful"





Structures:
Related languages
EXEC => EXEC2   Evolution of
EXEC2 => REXX   Evolution of

References:
  • SC24-5219 Virtual Machine/System Product EXEC 2 Reference view details