XPS-Q8
Tcl Manual
2.0
Tool Command Language
2.1
Introduction
Tcl is short for Tool Command Language. Tcl commands perform a variety of
functions, such as: output a string, compute a math expression, or display a widget. Tcl
casts everything into the mold of a command, even programming constructs like
variable assignments and procedure definitions. Tcl requires a minimal amount of
syntax to properly invoke commands, leaving the remainder of the work to command
implementation.
The basic syntax of a Tcl command is:
command
arg1 arg2 arg3 ...
The
command
is either the name of a built-in command or a Tcl procedure. White
space (i.e., spaces or tabs) is used to separate the command name from command
arguments, and a new line (i.e., the end of line character) or semicolon is used to
terminate a command. Tcl does not interpret arguments respective to commands, other
than to perform
grouping
. This allows multiple words to be used in a single
argument. Tcl also performs
substitution
, which is used with programming
variables and nested command calls. The behavior of the Tcl command processor can
be summarized in three basic steps:
•
Argument grouping.
•
Value substitution of nested commands, variables, and backslash escapes.
•
Command invocation. It is up to the command to interpret its arguments.
NOTE
The Tcl
gets
from stdio command is not supported.
2.2
Tcl scripting language features
2.2.1
“Hello, World!” example
puts
stdout {Hello, World!}
⇒
Hello, World!
In this example, the command is
puts
, which takes two arguments: an I/O stream
identifier and a string
.
puts
writes the string to the I/O stream along with a trailing
newline character.
There are two points to emphasize:
•
Arguments are interpreted by the command. In the example,
stdout
is used to
identify the standard output stream. The use of
stdout
as a name is a convention
employed by
puts
and other I/O commands. Also,
stderr
is used to identify
the standard error output, and
stdin
is used to identify the standard error input.
•
Curly braces are used to group words together into a single argument. The
puts
command receives
Hello, World!
as its second argument.
The braces are not part of the value.
The braces are required syntax for the interpreter, and they get stripped off before the
value is passed to the command. Braces group all characters, including newlines and
nested braces, until a matching brace is found. Tcl also uses double quotes for grouping.
Grouping arguments will be described in more detail later.
EDH0307En1041 — 10/17
2