Mnemonic Purpose Actions

TST 'string' Test for string in input After skipping initial whitespace in the input string compare it to the string given as argument. If the comparison is met, skip over the string in the input and set switch. If not met, reset switch.

ID Identifier token After skipping initial whitespace in the input string, test if it begins with an identifier, i.e., a letter followed by a sequence of letters and/or digits. If so, copy the identifier to the token buffer; skip over it in the input; and set switch. If not, reset switch.

NUM Number token After deleting initial whitespace in the input string, test if it begins with an number, i.e., a sequence of digits. If so, copy the number to the token buffer; skip over it in the input; and set switch. If not, reset switch.

SR String token After deleting initial whitespace in the input string, test if it begins with an string, i.e., a single quote followed by a sequence of any characters other than a single quote followed by another single quote. If so, copy the string (including enclosing quotes) to the token buffer; skip over it in the input; and set switch. If not, reset switch.

CLL AAA Call subroutine Enter the subroutine beginning at label AAA. Push a stackframe of three cells on the stack containing: label 1 cell, initialized to blank label 2 cell, initialized to blank location cell, set to the return from call location

R Return from subroutine Return from CLL call to location on the top of the stack and pop the stackframe of three cells.

SET Set switch Set the switch to true.

B AAA Unconditional branch Branch unconditionally to the label AAA.

BT AAA Branch if true If the switch is true, branch to label AAA.

BF AAA Branch if false If the switch is false, branch to label AAA.

BE Branch to error if false If the switch is false, report error status and halt.

CL 'string' Copy literal Copy the variable length string (without enclosing quotes) given as argument to the output buffer.

CI Copy input Copy the token buffer to the output buffer.

GN1 Generate label 1 If the label 1 cell in the top stackframe is blank, then generate a unique label and save it in the label 1 cell. In either case output the label.

GN2 Generate label 2 Same as for GN1 except acting on the label 2 cell.

LB Move to label field Set the output buffer column to the first column.