DESL


DESL Home | Website Outline | Commands | Examples | Download | Contacts

Contents :

Non-GUI DESL User Interface
Basic Flow of DESL Input
Commands
Options and Argument Lists
Sample Session
Types of Options
Rules for General Input
The Special "thru" Conjunction
The Special "rep" Repetition Item
Global Conditions
File-Specific Conditions

( TG) The Non-GUI DESL User Interface

DESL is an integrated command-driven system which responds to user-supplied command words, options, and applicable option arguments.

Currently, the user interface is the command line (MS-DOS) interface. In the future a GUI-based input will be available to essentially be an optional front end for the DESL command line interface. The command line interface will remain available for use.

Please see the DESL Modes of Execution discussion for information related to the general invocation and use of DESL.

In order to accomplish a particular task, DESL needs to be told what to do; ie, commanded to perform a certain function. Additionally, in order to indicate to a DESL function exactly how to do its job, most DESL functions also require input in the form of command modifiers, expressed as options and option argument lists. Taken altogether, this complete set of input directs DESL to perform a specific operation. A series of one or more DESL commands and associated option and option argument lists, from DESL initialization to DESL stop, constitutes a session.

A schematic diagram of the basic flow of the DESL command line user interface is given below. The yellow areas are clickable.

DESL
 ALIGN=

( TG1) Commands

When DESL is begun, the user is at the command prompt level; i.e., the

DESL>

prompt is displayed.

At this point in a DESL session, a valid DESL command name or abbreviation should be entered.

DESL commands are names which invoke particular functional units of the overall DESL system. A complete list of all of the available DESL commands and their descriptions and uses is given at the DESL Commands page.

A DESL command can require

  1. no additional arguments
  2. more arguments to be entered on the same line as the command name or abbreviation itself
  3. more arguments in the form of options and argument lists to be specified on lines following the line on which the command name or abbreviation was specified

If the command requires no options (and arguments) or requires arguments to be specified on the command line, and these arguments are correct and sufficient, the appropriate function immediately begins to execute. After execution, the user is returned to the command level.

Example :

DESL> status
DESL> reg set *N1 = Test61
DESL>

If the command does require additional options (and option arguments) following a carriage return after the command's name or abbreviation on a new line the system prompts the user for these by displaying a unique prompt of the form

cmmd>,

where cmmd is the name of the command being executed.

After determining that what was specified a valid DESL command or macro name and the appropriate function or macro begins to execute. After execution, the user is returned to the command level.

Example(s) :

DESL> print
print> (print options and argument lists ...)
print> (print options and argument lists ...)
print> (print options and argument lists ... go)
DESL>

( TG2) Options and Argument lists

Once a command has been entered at the command level more input may be required. This additional input is given in the form of options and argument lists on lines following the line on which the command name or abbreviation was specified.

In general an option/argument list is composed of name-type strings which have special meaning to the function in question. These special strings are called options.

Depending on the option, there may be other name or value specifications which are also required or allowed to give full meaning, in the current context, to the applicable option. This group of additional input, describing or modifying the option, is known as the argument list.

An argument list extends from its associated option up to, but not including, the next option.

The user must enter all options and argument lists which are pertinent to the intended operation, terminating such input with the special option go. DESL will not attempt to execute the applicable function until, as a minimum, all of the required options and arguments have been specified.

When the option and argument list is terminated with a go the and if the input has been judged sufficient and syntactically correct the appropriate DESL function begins to execute.

If DESL judges there to be one or more problems with the syntax or if the input is not sufficient, one or more messages are issued, the command is terminated, and the user is put back to the command prompt level.

As the user gains familiarity with DESL and as additional functions are installed it will become more obvious that many of the same options are applicable to more than one command. Also, a particular option's meaning will be similar, if not the same, in all contexts.

A discussion of all options relative to each of the commands they can modify is presented in the DESL Commands documentation.

In that documentation section, at the beginning of the discussion of each DESL command, a list of required and optional options for that command are presented.

Each option which is blinking is required. Each option which is not blinking is optional.

Sample Session

A sample session is presented below. The copy command is specified along with some required and optional options and their arguments. Commands and options are in green font . and option argument lists are in red font . All other text is system prompts/responses.

desl

...Welcome to DESL ...

Enter command, abbreviation or "help" now...

DESL > copy

copy > files r10 r11 names test run point

copy > neofs 2 alpw gt 0 cset 2 mach lt .5

copy > newfiles newr10 newr11 go

<< copy : save set "save0001" created >>

--->COPY : "newr10" CREATED FROM "r10".

--->COPY : "newr11" CREATED FROM "r11".

DESL > stop

...Ending DESL Version 012599

( Log file "log12321.dsl" created.)

( TG3) Types of Options

Each of a command's required or optional options is of a particular type. Moreover, a particular option's argument list will have the same allowable general syntax regardless of the command with which it is used; i.e., it is of a constant type.

There are 5 types of options. The type of a option determines the form or syntax of the argument list which must follow it.

  1. No arguments are allowed

    Example : backward

  2. All fields must be expressed or implied strings

    name name name ...
    name "thru" name
    name = name name = name ...
    name "thru" name = name
    name = name "thru" name
    -or- a combination of above

    Example : nofit run alpha beta cl cd
    Example : names alpha = alpw cl = cls1
    Example : names alpha = alpw cp1 = xcp1 thru xcp100

  3. All fields must be expressed or implied values

    value value value ...
    value "to" value "by" value
    -or- a combination of the above

    Example : values 6 7 9 11 18
    Example : values 6 to 19 by .5
    Example : values 9 6 2 -2 to -7 by -.5

  4. Fields must contain one value and one or more expressed or implied strings

    value name name name thru name ...

    Example : nameset 1 alpw cl cd beta af nf

  5. Fields can be expressed or implied strings or values

    name name name ...
    name "thru" name
    name = name name = name ...
    name "thru" name = name
    name = name "thru" name
    name = value
    name "thru" name = value
    value value value ...
    value "to" value "by" value
    -or- a combination of above

    Example : key 10401 3.5 7 config set 1 3 5 mach f7.2

( TG4) Rules for General Input

There are several basic rules which govern the syntax of all input, and the input of option/argument lists in particular.

  1. All input is in free-field format.

    In this mode of input, lines of up to 130 characters in length are interpreted and broken down into blank-delimited items.

    If the 130-character limit is exceeded it may not be obvious from DESL actions.

    Items are defined to be names or numbers. Numbers can be expressed in standard or scientific notation. Only the first 6 significant figures of numbers are retained. This is a limitation associated with the computer's single-precision, real number representation. Any item determined not to be a valid number is assumed to be a string.

    Blanks themselves can also be included in name items by enclosing such items in question marks (?).

    All name items except those either explicitly or implicitly SIF variable names are interpreted as 16 characters in length. SIF variable names are limited to the leftmost 8 characters.

    If the pertinent option being entered can accept a string longer than 16 characters, such a string can be entered but must be enclosed with question marks. Otherwise, the characters in excess of 16 will be ignored.

  2. In general, DESL will allow up to 1000 items in a single option's argument list. In reality however, most options have smaller limitations on the number of allowable items per option. (See the large command.)

  3. Option and argument list items can be specified on an unlimited number of 130-column input lines.

  4. All items are case dependent.

    Be careful ! See the namecase command.

    Input, in general, is accepted literally as entered except as noted below with respect to SIF variable names. Command names and option names must be entered in lower case.

  5. All option/argument list input is terminated by go, cancel, or quit global options. The options cancel and quit will each end input and cause DESL to return to the command level prompt. The option go will end input, cause DESL to check for command input completeness and correctness, and, if no problems exist, cause DESL to begin to execute the function in question.

  6. Five (5) consecutive empty input lines will terminate input and abort the command if encountered during the option/argument list input or will end the session if encountered at the command level.

  7. All input which is judged syntactically correct is retained in a user-named or system-named "save" buffer for later use.

    See the "use"/"save"/"see" global options. [ Need links here!! ]

  8. At many junctures in an interactive DESL session, depending on the commands being executed, etc., screen output will pause for user viewing. At the pause, if the output for the pertinent operation being executed is still incomplete, the message,

    ...(more...Enter CR to continue OR q/a + CR to quit/abort.)

    will be displayed, at which time the user should respond by entering a carriage return (CR) or q or a followed by a carriage return to have the output continue on or q(uit) or a(bort), respectively.

    If output for the pertinent operation has completed, then the message

    ...(end...Enter CR to continue)

    will be displayed, at which time the user should respond accordingly by entering a carriage return.

( TG5) The special thru conjunction

During the entry of option and argument lists, rather than explicitly entering every single name in a list of names which could be thought of as being sequential, it may be more efficient just to imply a sequence of names.

The string thru has special significance with regard to this need. A sequence of names, each ending in one or more digits which are monotonically increasing or decreasing by 1 in magnitude with the same base name, can utilize the special conjunction thru and thereby allow the sequence of names to be written in a more compact form.

.

(Begin modifications on 051002)

The thru option should not be used to imply a sequence of list items where the bordering items are strings that are longer than 16 characters. In those cases, consider employing the ...{ list_name }... construct to extend a long-string sequence. (See most command's "files" option discussion.)

(End modifications on 051002)

The incrementing sequence of names,

run7 thru run11

Additionally, a sequence of names can have base strings with implicitly decrementing numeric suffixes. However, there is a special aspect of the use of such a construct which needs to be stressed.

If an implied name sequence would involve an expanded sequence of names in which the number of suffix significant digits decreased somewhere during the sequence, then the number of digits specified in the ending implied sequence name becomes important. For example, the implied sequence of names,

run11 thru run07

In the first case the expanded sequence of names would be,

run11 run10 run09 run08 run07

( TG6) The special rep repetition item

During the entry of option and argument lists, rather than explicitly entering every single item in a list of names or values which would be repetitive, the rep #, where # is an integer, can be used to force a replication of the last name or value entered.

The sequence of names,

run7 rep 3 run11

Likewise, the sequence of values,

2 3 rep 4 4 5 rep 2 6

( TG7) Global Conditions

For DESL functions which require option/arguments lists, up to 10 global conditional phrases can be included following one or more of the specified command-specific options.

A global condition cannot precede the first option in the argument list. The no-op option exists for all commands which have options at all for the purpose of being able to precede a global condition which, otherwise, would have been specified before the first option.

A global conditional phrase has the following general format :

name logical name/value where,

The meanings of the individual logicals are implicit - the same as their Fortran equivalents.

Global conditional phases serve to limit the applicability of the function to the Data files in question by ignoring all incoming records whose pertinent variables do not satisfy all global conditions specified simultaneously. The DESL filter function is the only function which allows additional logical operators.

Examples of sets of one, two, and three global conditional phrases are, respectively, the following :

  1. run eq 5

  2. alpha lt 5 alpha gt -5

  3. alpha1 lt alpha2 run eq 10 mach ne .5

( TG8) File-specific conditions

Many of the DESL functions which have files as one of their options also allow file-specific conditions to be entered. File-specific conditions are, in structure, exactly like global conditions except that they follow the option cset and apply only to the associated file.

More information is presented on this type of condition where the cset option is discussed for each function. An example of the use of the cset option is :

cset 2 alpha gt 0

where, the 2 after cset implies that the condition b>alpha gt 0 applies to the second file in the list of files specified.

The general syntax of the this type of option is described here.

Up to 20 file-specific conditions can be specified per file being processed.

An example session which includes the use of both global and file-specific conditions is shown as follows :

...Welcome to DESL Version 012598 ...

Enter command, abbreviation or "help" now...

DESL > copy
copy > files r10 r11 names test run point
copy > neofs 2 alpw gt 0 cset 2 mach lt .5
copy > newfiles newr10 newr11 go

<< copy : save set "save001" created >>

--->COPY : "newr10 " CREATED FROM "r10".
--->COPY : "newr11 " CREATED FROM "r11".

DESL > stop

Ending DESL Version 012598
( Log file "log24508.dsl" created.)

In the above example, the global condition alpw gt 0 serves to limit the applicability of the entire copy command for ALL files to records which satisfy the condition alpw > 0. Additionally, because a file-specific condition was specified for file r11 (the second file), the applicability of the copy command will be further restricted, for the second file ("r11") only, to records which also satisfy the mach < .5 condition.


DESL Home | Website Outline | Commands | Examples | Download | Contacts


Contact the DESL manager

ViGYAN, Inc.
30 Research Drive
Hampton, VA 23666
Voice: (757) 865-1400
Toll Free: (800) 288-3998
FAX: (757) 865-8177

© 1999 ViGYAN, Inc.