[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.6.1 AutoGen Macro Syntax

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:

  1. 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> ] ... ]
    
    or
     
    INVOKE <name-expression> [ <name> [ = <expression> ] ... ]
    

  2. AutoGen FOR macros must be in one of two forms:

     
    FOR <name> [ <separator-string> ]
    
    or
     
    FOR <name> (...Scheme expression list)
    
    where <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)

  3. AutoGen 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.

  4. The AutoGen 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)



This document was generated by Bruce Korb on January, 7 2002 using texi2html