Next: output controls, Previous: Common Functions, Up: Template File [Contents][Index]
This section describes the various AutoGen natively defined macros. Unlike the Scheme functions, some of these macros are "block macros" with a scope that extends through a terminating macro. Block macros must not overlap. That is to say, a block macro started within the scope of an encompassing block macro must have its matching end macro appear before the encompassing block macro is either ended or subdivided.
The block macros are these:
CASE
This macro has scope through the ESAC
macro.
The scope is subdivided by SELECT
macros.
You must have at least one SELECT
macro.
DEFINE
This macro has scope through the ENDDEF
macro. The defined
user macro can never be a block macro. This macro is extracted from
the template before the template is processed. Consequently, you
cannot select a definition based on context. You can, however, place
them all at the end of the file.
FOR
This macro has scope through the ENDFOR
macro.
IF
This macro has scope through the ENDIF
macro.
The scope may be subdivided by ELIF
and ELSE
macros. Obviously, there may be only one ELSE
macro
and it must be the last of these subdivisions.
INCLUDE
This macro has the scope of the included file. It is a block macro in the sense that the included file must not contain any incomplete block macros.
WHILE
This macro has scope through the ENDWHILE
macro.
• AGMacro syntax: | AutoGen Macro Syntax | |
• BREAK: | BREAK - Leave a FOR or WHILE macro | |
• CASE: | CASE - Select one of several template blocks | |
• COMMENT: | COMMENT - A block of comment to be ignored | |
• CONTINUE: | CONTINUE - Skip to end of a FOR or WHILE macro. | |
• DEBUG: | DEBUG - Print debug message to trace output | |
• DEFINE: | DEFINE - Define a user AutoGen macro | |
• ELIF: | ELIF - Alternate Conditional Template Block | |
• ELSE: | ELSE - Alternate Template Block | |
• ENDDEF: | ENDDEF - Ends a macro definition. | |
• ENDFOR: | ENDFOR - Terminates the FOR function template block
| |
• ENDIF: | ENDIF - Terminate the IF Template Block
| |
• ENDWHILE: | ENDWHILE - Terminate the WHILE Template Block
| |
• ESAC: | ESAC - Terminate the CASE Template Block
| |
• EXPR: | EXPR - Evaluate and emit an Expression | |
• FOR: | FOR - Emit a template block multiple times | |
• IF: | IF - Conditionally Emit a Template Block | |
• INCLUDE: | INCLUDE - Read in and emit a template block | |
• INVOKE: | INVOKE - Invoke a User Defined Macro | |
• RETURN: | RETURN - Leave an INVOKE-d (DEFINE) macro | |
• SELECT: | SELECT - Selection block for CASE function | |
• UNKNOWN: | UNKNOWN - Either a user macro or a value name. | |
• WHILE: | WHILE - Conditionally loop over a Template Block | |
• shell command: | Inserting text from a shell script | |
• guile command: | Inserting text from a scheme script |
Next: output controls, Previous: Common Functions, Up: Template File [Contents][Index]