Next: Template File, Previous: Introduction, Up: Top [Contents][Index]
This chapter describes the syntax and semantics of the AutoGen definition file. In order to instantiate a template, you normally must provide a definitions file that identifies itself and contains some value definitions. Consequently, we keep it very simple. For "advanced" users, there are preprocessing directives, sparse arrays, named indexes and comments that may be used as well.
The definitions file is used to associate values with names. Every value is implicitly an array of values, even if there is only one value. Values may be either simple strings or compound collections of name-value pairs. An array may not contain both simple and compound members. Fundamentally, it is as simple as:
prog-name = "autogen"; flag = { name = templ_dirs; value = L; descrip = "Template search directory list"; };
For purposes of commenting and controlling the processing of the
definitions, C-style comments and most C preprocessing directives are
honored. The major exception is that the #if
directive is
ignored, along with all following text through the matching
#endif
directive. The C preprocessor is not actually invoked, so
C macro substitution is not performed.
• Identification: | The Identification Definition | |
• Definitions: | Named Definitions | |
• Index Assignments: | Assigning an Index to a Definition | |
• Dynamic Text: | Dynamic Text | |
• Directives: | Controlling What Gets Processed | |
• Predefines: | Pre-defined Names | |
• Comments: | Commenting Your Definitions | |
• Example: | What it all looks like. | |
• Full Syntax: | Finite State Machine Grammar | |
• Alternate Definition: | Alternate Definition Forms |
Next: Template File, Previous: Introduction, Up: Top [Contents][Index]