takes templated file .xxx.src and produces .xxx file where .xxx is .i or .c or .h, using the following template rules
/end repeat/ -- on a line by itself marks it's end
After the /**begin repeat and before the */, all the named templates are placed these should all have the same number of replacements
Repeat blocks can be nested, with each nested block labeled with its depth, i.e. /**begin repeat1
*.... */
/end repeat1/
When using nested loops, you can optionally exclude particular combinations of the variables using (inside the comment portion of the inner loop):
This will exclude the pattern where var1 is value1 and var2 is value2 when the result is being generated.
In the main body each replace will use one entry from the list of named replacements
- Note that all #..# forms in a block must have the same number of
- comma-separated entries.
Example:
An input file containing
@a@, @b@, @c@ /end repeat1/
/end repeat/
produces
line 1 "template.c.src"
- /*
- ** This file was autogenerated from a template DO NOT EDIT!!** ** Changes should be made to the original source (.src) file ** ***************************************************************** */
#line 9 1, 1, ted
#line 9 1, 1, jim
#line 9 2, 2, ted
#line 9 2, 2, jim
#line 9 3, 3, ted
#line 9 3, 3, jim
Unknown Field: exclude | |
var1=value1, var2=value2, ... |
Variable | exclude_re |
Undocumented |
Variable | exclude_vars_re |
Undocumented |
Variable | global_names |
Undocumented |
Variable | header |
Undocumented |
Variable | include_src_re |
Undocumented |
Variable | named_re |
Undocumented |
Variable | parenrep |
Undocumented |
Variable | plainrep |
Undocumented |
Variable | replace_re |
Undocumented |
Variable | stripast |
Undocumented |
Function | main |
Undocumented |
Function | paren_repl |
Undocumented |
Function | parse_loop_header |
Find all named replacements in the header |
Function | parse_string |
Undocumented |
Function | parse_structure |
The returned line number is from the beginning of the string, starting at zero. Returns an empty list if no loops found. |
Function | parse_values |
Undocumented |
Function | process_file |
Undocumented |
Function | process_str |
Undocumented |
Function | resolve_includes |
Undocumented |
Function | unique_key |
Undocumented |
Find all named replacements in the header
Returns a list of dictionaries, one for each loop iteration, where each key is a name to be substituted and the corresponding value is the replacement string.