[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
There are several methods for including dynamic content inside a definitions
file. Three of them are mentioned above (2.2.5 Shell Output String and
see section 2.2.7 Scheme Result String) in the discussion of string formation rules.
Another method uses the #shell
processing directive.
It will be discussed in the next section (see section 2.4 Controlling What Gets Processed).
Guile/Scheme may also be used to yield to create definitions.
When the Scheme expression is preceeded by a backslash and single quote, then the expression is expected to be an alist of names and values that will be used to create AutoGen definitions.
This method can be be used as follows:
\'( (name (value-expression)) (name2 (another-expr)) ) |
This is entirely equivalent to:
name = (value-expression); name2 = (another-expr); |
Under the covers, the expression gets handed off to a Guile function
named alist->autogen-def
in an expression that looks like this:
(alist->autogen-def ( (name (value-expression)) (name2 (another-expr)) ) ) |