CMS EXEC - The EXEC Language

The EXEC Language

  • EXEC processes lines up to 130 characters long when entered from a terminal, or 72 characters when read from a file.
  • A label consisting of a dash followed by up to seven alphanumeric characters can prefix a CMS command or an EXEC control statement.
  • The interpreter parses commands into blank-delimited tokens of up to eight characters each.
  • Variables consist of an ampersand followed by up to seven alphanumeric characters. Variables can be either user-defined variables or pre-defined ("special") EXEC variables.
  • As each line is read the tokens are scanned. If they contain EXEC variables the variables are replaced by their value.
  • Comments. Comments in EXEC files begin with an asterisk in column one. All other statements are executable statements.
  • Null statements. A null statement contains no data items.
  • CMS commands. If the first data item on a line is not an asterisk or ampersand the EXEC processor considers the line to be a CMS command and passes it to CMS for immediate execution.
  • Assignment statements. An assignment statement assigns a value to an EXEC variable. It has the form &variable =
  • Control statements. A statement where the first data item is an EXEC control word and the second is not a equals sign is assumed to be a control statement.
  • EXEC control words:
    • &ARGS - allows the user to redefine command arguments.
    • &BEGPUNCH - heads a sderies of lines to be spooled to the user's virtual punch.
    • &BEGSTACK - heads a series of lines to be placed in the user's console input stack.
    • &BEGTYPE - heads a series of lines to be typed on the user's terminal.
    • &END - marks the end of the lines processed by &BEGPUNCH, &BEGSTACK, or &BEGTYPE.
    • &CONTINUE - tells the interpreter to process the next line in the file.
    • &CONTROL - controls the format in which messages are displayed.
    • &ERROR - tells the interpreter what to do if an error is detected.
    • &EXIT - exits the current EXEC file, and optionally sets a return code.
    • &GOTO - branches to another location in the current EXEC file. The location can be TOP for the beginning of the file, a label, or a line number.
    • &IF allows for conditional execution of statements.
    • &LOOP - heads a group of statements to be executed multiple times, or until a specified condition is true.
    • &PUNCH - sends a string of tokens to the user's virtual punch. Each &PUNCH statement generates one card-image, padded or truncated if necessary.
    • &READ - reads one or more lines from the user's terminal.
    • &SKIP - skips (ignores) a specified number of lines.
    • &SPACE - types a specified number of blank lines on the user's terminal.
    • &STACK - places one line in the user's input stack. The line is constructed from tokens as for &PUNCH.
    • &TIME - specifies what timing information is to be typed on the user's terminal following the execution of each CMS command.
    • &TYPE types a line on the user's terminal. The line is constructed from tokens as for &PUNCH.
  • Built-in functions. The EXEC interpreter provides a few "built-in" or predefined functions:
    • &CONCAT concatenates a string of tokens.
    • &DATATYPE examines a token and determines whether it is numeric or alphabetic.
    • &LENGTH returns the length of a token.
    • &LITERAL prevents variable substitution within a token.
    • &SUBSTR extract selected characters from a token.

Read more about this topic:  CMS EXEC

Famous quotes containing the word language:

    I invented the colors of the vowels!—A black, E white, I red, O blue, U green—I made rules for the form and movement of each consonant, and, and with instinctive rhythms, I flattered myself that I had created a poetic language accessible, some day, to all the senses.
    Arthur Rimbaud (1854–1891)