c_client.PreCode Class Reference
Inheritance diagram for c_client.PreCode:
[legend]
Collaboration diagram for c_client.PreCode:
[legend]

## Public Member Functions

| __init__ (self)
| start (self)
| end (self)
| output_tempvars (self)
| code (self, fmt, *args)
| tempvar (self, fmt, *args)
| get_tempvarname (self)
| push_indent (self, indentstr)
| push_addindent (self, indent_add_str)
| indent (self)
| pop_indent (self)
| redirect_start (self, redirect_code, redirect_tempvars=None)
| redirect_end (self)

## Data Fields

int | nesting_level = 0
list | tempvars = []
list | codelines = []
| redirect_code = None
| redirect_tempvars = None
str | indent_str = ' '
list | indent_stack = []
int | tempvar_num = 0

## Detailed Description

    For pre-code generated by expression generation
    (for example, the for-loop of a sumof)
    This has to account for recursiveness of the expression
    generation, i.e., there may be pre-code for pre-code.
    Therefore this is implemented as a stack of lists of lines.

    If redirection is switched on, then all output is collected in
    self.redirect_code and self.redirect_tempvars instead of
    being sent to the output via _h und _c.

The documentation for this class was generated from the following file:

- c_client.py