{
{   A command utility may choose to be given control each time a command line
{ is read.  This "hook" is provided for those utilities whose input is not
{ completely compatible with SCL.  Such incompatibility may result from a need
{ to meet an industry standard or retain compatibility with a predecessor
{ product.  Also, a utility may simply wish to be notified that a command line
{ has been read; for example, a line boundary may be a convenient point to
{ which to back up for a utility that supports an "undo" feature.
{
{   This capability allows a utility to use SCL facilities for reading
{ commands when that would otherwise not be possible.  Also, users of such a
{ utility may still be able to make use of SCL's programming language
{ facilities in conjunction with the utility.
{
{       utility_line_preprocessor (COMMAND_LINE, INTERACTIVE_SOURCE,
{         INTERPRETING_COMMANDS, EDITED_COMMAND_LINE, STATUS)
{
{ COMMAND_LINE: (input)  This parameter specifies the command line read by the
{       SCL interpreter.
{
{ INTERACTIVE_SOURCE: (input)  This parameter specfies whether the command
{       line originated from an interactive terminal (TRUE) or not (FALSE).
{
{ INTERPRETING_COMMANDS: (input)  This parameter specifies whether the SCL
{       interpreter would interpret (TRUE) the next command or skip it
{       (FALSE).  Skip mode is entered as a result of various control
{       statements, for example IF, ELSE, etc.  If the utility processes the
{       commands in the command line itself, it should only do so when this
{       parameter is TRUE.
{
{ EDITED_COMMAND_LINE: (output)  This parameter specifies the string that
{       represents the preprocessed command line.  (Upon entry to the line
{       preprocessor, the edited_command_line variable is NIL.) The
{       preprocessor may construct a new line in any manner it chooses and set
{       this parameter to point to it.  If this parameter is NIL upon return
{       to the SCL interpreter, the original command line is processed.  If
{       this parameter points to a null (empty) string, the SCL interpreter
{       will do no further processing with this line.
{
{ STATUS:   (output)   This   parameter   specifies  the  line  preprocessor's
{       termination status.
{
