Node:Commands, Next:Actions Described, Up:Syntax
The basic syntax element is a command. It is defined as follows:
command-name [tags] args
where command-name is an identifier representing the name of the command, tags is an optional list of optional or tagged arguments and args is a list of required or positional arguments.
Positional arguments are literals delimited with whitespace. They provide the command with the information necessary to its proper functioning. Each command has a fixed number of positional arguments. It is an error to supply more arguments to the command or to give it fewer arguments than it accepts.
Optional arguments allow to modify the behaviour of the command, like command line options in UNIX do. They are a list of tags (see Lexical Structure) separated by whitespace. An optional argument may have at most one parameter.
Each command understands a set of optional arguments. Supplying it tags that it does not understand results in an error.
For example, consider the following command
header :mime :comparator "i;octet" ["to", "from"] "[email protected]"
Here, given that header
takes two positional arguments:
header
is command name, the list ["to", "from"]
is first
positional argument and the string "[email protected]"
is second
positional argument. There are two optional arguments: :mime
and
:comparator
. The latter has a string "i;octet"
as its
parameter.