This section specifies the rules for composing TCL command strings.
A TCL command line is structured as follows:
label> command-text !commentThe fields are:
All fields, including the command text itself, are optional, and blank lines are ignored.
Examples:
A "name" in TCL is a character string used to refer to procs, files, labels, libraries, variables, and functions.
The names for variables, labels, and functions follow the rules for TCL "standard" names.
A standard name contains fifteen or fewer characters, starts with a letter, an underscore, or a dollar sign, and contains characters from the following character set.
Examples of standard names:
The following variable names are reserved:
In general, programmers should avoid names beginning with a dollar sign ($) or an underscore (_).
TAE library names are host-dependent. For example, under VAX/VMS implementations of TAE, library names are directory names or logical names assigned to directory names; under UNIX implementations, a library name is the path name of a directory or a shell symbol (introduced with "$") whose value is a directory path name. See Appendix A to the "TAE Command Language (TCL) User's Manual" for library naming conventions for a given host.
A valid proc name is one of the following:
The proc names in Table 3-1 are reserved for use by TCL.
A file name in TCL is a host file specification. File specifications containing special characters may have to be quoted, depending on the host. See Appendix A to the "TAE Command Language (TCL) User's Manual."
The value of a FILE type parameter is verified by TAE as follows: if, on the PARM command, the ACCESS is IN or INOUT, then the file identified by the value string must exist. (See Section 3.4.2 for a description of the PARM command.)
File verification may be optionally turned on or off. (See Section 3.3.2.7.1 for the TAE GLOBAL $FILEVER). If verification is "off", no verification is performed and file type variables become identical to string type variables.
The rules for TCL interpretation of uppercase versus lowercase strings are:
If the acceptable string values for a parameter are specified with the VALID attribute, then a user-entered value may differ in case, but the value passed to the proc will be exactly one of the values in the VALID list.
A "list" in TCL consists of a group of items separated by commas, white space, or a comma and white space. "Whitespace" is one or more spaces and/or tabs.
Examples:
a, b, c, !Three items a b c !Three items a, b c !Three items a, bc !Two itemsNOTE: A list contained in an expression (as in a LET command) must use commas as separators.
A special character is one that has a special meaning to TCL. The significance of any special character, except "&", is lost if the character appears in a string contained between quotation marks. The quotation mark character loses its significance within a quoted string if it is immediately preceded by another quotation mark. Table 3-2 summarizes the use of special characters in TCL.
The following punctuation characters are acceptable in a value field without quoting:
/ -- slash ; -- semi-colon . -- period [ -- bracket ] -- bracket - -- hyphen : -- colon
Character | Significance |
! | Introduces comments |
& | Substitution indicator |
&& | Literal ampersand (i.e., escape for &) |
* | 1. Universal "here" indicator
2. Multiplication operator |
() | 1. Subscript indicator
2. Value list indicator 3. Delimiters for logical expressions 4. Function arguments indicator |
- | 1. Binary subtraction operator
2. Unary negate 3. Subcommand indicator 4. In VMS, used in file specifications |
+ | 1. Continuation indicator
2. Binary addition operator 3. Unary positive |
= | 1. Assignment operator
2. Relational equality operator |
<> | Relational inequality |
>= | Relational "greater than or equal to" |
<= | Relational "less than or equal to" |
> | 1. Label terminator
2. Relational "greater than" |
< | Relational "less than" |
: | 1. Separator in range specification
2. Used in VMS file specification |
" | Start or end of quoted string |
"" | Literal quotation mark (i.e., escape for when within a quoted string) |
| | Bracketing for command and parameter qualifiers |
// | String concatenation operator |
, | Separator used in lists |
Spaces | General separator |
. | 1. Separator in full parameter qualifier name
2. Decimal point in real values |
[] | Reserved for RSX, VMS file specifications |
/ | 1. UNIX file specification separator
2. TCL division operator |
% | Host file escape |
? | Last error message query (HELP-MESSAGE) |
' | (Apostrophe) Used to flag keyword values |
@ | De-reference indicator |