LSE's portable command language provides a one-to-one correspondence
between an LSE command and a TPU procedure called to execute that command.
For example, the command ERASE WORD is translated into a procedure
named LSE_ERASE_WORD.
The LSE command parser can support multiple sets of grammar,
which exist in layers. Initially, the LSE layer is enabled.
When you enable a new layer, it is stacked on top of the existing
layer. LSE searches first for routines in the top layer before going
to the next layer.
The standard portable LSE routines all have the LSE_ prefix.
You can group a set of routines into a grammar by adding a prefix.
When you define a routine and enable a prefix for that routine,
your new grammar is placed at the top of the stack. The prefix
may be any string of valid TPU identifier characters: alphabetic,
a dollar sign, or an underscore.
For example, you can define a command as follows:
1. Enable the routine with the ENABLE GRAMMAR PREFIX USER_ command.
2. Define a routine USER_SET_BUFFER_CUSTOM (), which may or may
not have arguments.
When you type SET BUFFER CUSTOM, LSE first looks for a procedure
named USER_SET_BUFFER_CUSTOM.
Thereafter, if you type an ambiguous command such as SET BUFFER,
you will see CUSTOM listed as one of the possible choices.
In the next example, you can customize an existing command, such as
CREATE FILE, as follows:
1. Enable the routine with the ENABLE GRAMMAR PREFIX MY_ command.
2. Define a routine MY_CREATE_FILE (), which you want to
take precedence over an existing routine LSE_CREATE_FILE ().
The MY_CREATE_FILE routine is now at the top of the stack. The LSE
parser will look first for MY_CREATE_FILE and then for LSE_CREATE_FILE.
See the ENABLE GRAMMAR PREFIX and DISABLE GRAMMAR PREFIX commands.