[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The general syntax is:
[ { <native-macro-name> | <user-defined-name> } ] [ <arg> ... ] |
The syntax for <arg>
depends on the particular macro,
but is generally a full expression (see section 3.3 Macro Expression Syntax).
Here are the exceptions to that general rule:
INVOKE
macros, implicit or explicit, must be followed by
a list of name/string value pairs. The string values are
simple expressions, as described above.
That is, the INVOKE
syntax is either:
<user-macro-name> [ <name> [ = <expression> ] ... ] |
INVOKE <name-expression> [ <name> [ = <expression> ] ... ] |
FOR <name> [ <separator-string> ] |
FOR <name> (...Scheme expression list) |
<name>
must be a simple name and the Scheme expression list
is expected to contain one or more of the for-from
,
for-to
, for-by
, and for-sep
functions.
(See section 3.6.13 FOR - Emit a template block multiple times, and 3.4 AutoGen Scheme Functions)
DEFINE
macros must be followed by a simple name.
Anything after that is ignored. See section 3.6.4 DEFINE - Define a user AutoGen macro.
COMMENT
, ELSE
, ESAC
and the END*
macros take no arguments and ignore everything after the macro name
(e.g. see 3.6.3 COMMENT - A block of comment to be ignored)