module documentation

process_file(filename)

takes templated file .xxx.src and produces .xxx file where .xxx is .pyf .f90 or .f using the following template rules:

'<..>' denotes a template.

All function and subroutine blocks in a source file with names that contain '<..>' will be replicated according to the rules in '<..>'.

The number of comma-separated words in '<..>' will determine the number of replicates.

'<..>' may have two different forms, named and short. For example,

named:

<p=d,s,z,c> where anywhere inside a block '<p>' will be replaced with 'd', 's', 'z', and 'c' for each replicate of the block.

<_c> is already defined: <_c=s,d,c,z> <_t> is already defined: <_t=real,double precision,complex,double complex>

short:
<s,d,c,z>, a short form of the named, useful when no <p> appears inside a block.

In general, '<..>' contains a comma separated list of arbitrary expressions. If these expression must contain a comma|leftarrow|rightarrow, then prepend the comma|leftarrow|rightarrow with a backslash.

If an expression matches '<index>' then it will be replaced by <index>-th expression.

Note that all '<..>' forms in a block must have the same number of comma-separated entries.

Predefined named template rules:
<prefix=s,d,c,z> <ftype=real,double precision,complex,double complex> <ftypereal=real,double precision,0,1> <ctype=float,double,complex_float,complex_double> <ctypereal=float,double,0,1>
Function conv Undocumented
Function expand_sub Undocumented
Function find_and_remove_repl_patterns Undocumented
Function find_repl_patterns Undocumented
Function main Undocumented
Function parse_structure Return a list of tuples for each function or subroutine each tuple is the start and end of a subroutine or function to be expanded.
Function process_file Undocumented
Function process_str Undocumented
Function resolve_includes Undocumented
Function unique_key Obtain a unique key given a dictionary.
Variable function_start_re Undocumented
Variable include_src_re Undocumented
Variable item_re Undocumented
Variable list_re Undocumented
Variable named_re Undocumented
Variable routine_end_re Undocumented
Variable routine_start_re Undocumented
Variable template_name_re Undocumented
Variable template_re Undocumented
Variable _special_names Undocumented
def conv(astr): (source)

Undocumented

def expand_sub(substr, names): (source)

Undocumented

def find_and_remove_repl_patterns(astr): (source)

Undocumented

def find_repl_patterns(astr): (source)

Undocumented

def main(): (source)

Undocumented

def parse_structure(astr): (source)

Return a list of tuples for each function or subroutine each tuple is the start and end of a subroutine or function to be expanded.

def process_file(source): (source)

Undocumented

def process_str(allstr): (source)

Undocumented

def resolve_includes(source): (source)

Undocumented

def unique_key(adict): (source)

Obtain a unique key given a dictionary.

function_start_re = (source)

Undocumented

include_src_re = (source)

Undocumented

Undocumented

Undocumented

named_re = (source)

Undocumented

routine_end_re = (source)

Undocumented

routine_start_re = (source)

Undocumented

template_name_re = (source)

Undocumented

template_re = (source)

Undocumented

_special_names = (source)

Undocumented