| [ < ] | [ > ] | [ << ] | [ 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)