PIPS
|
▼NewGen quick and intelligent recursion on objects (visitor pattern) | |
NewGen useful functions for recursion visitors | They may be used by some recursion |
NewGen inheritance tracking during visiting object | Methods to get parent information constructed during recursion |
NewGen functions dealing with list objects | The following functions implement a small library of utilities in the Lisp tradition |
▼Controlizer phase to build the Hierarchical Control Flow Graph | Lint |
Desugaring functions used to transform | Non well structured à la Fortran do-loop into an equivalent code with tests and gotos |
▼Control and unstructured methods | Lint |
Control node visitors | |
Functions to manage control the graph and | Unstructured |
Instruction constructors | |
Predicates on instructions | |
Methods dealing with loops | Some generic methods about loops and list of loops |
replacement in statements | It is not unusual to generate a new entity, this helper functions will take care of substituing all referenced to an old entity by reference in new entities |
Functions used to define phases | It defines macros for simple transformation phases that use (at least) the CODE of a module and write back a (possibly) new version of the CODE |
▼Methods dealing with statements | Conditional execution is used to mask the call to MakeSimpleIoInst2 |
▼Statement predicate methods | Detects a statement with no special effect.. |
Direct test of the instruction | Type of statement |
Block/sequence statement constructors | |
Direct statement accessors to | Second level fields |
Methods related to the current module | Many parts of PIPS guesses that a current module is defined |
Pedagogical phases in PIPS | Simple phases to show how to add stuff to a module: a comment, a call,.. |
Effects | |
Pipsdbm |