Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

FlowProblem Class Reference

#include <dataflow.h>

Inheritance diagram for FlowProblem::

liveFlowProblem List of all members.

Public Types

enum  Point { Entry, Exit }

Public Methods

void iterate (Node *n, FlowVal *initial=0)
 FlowProblem (bool forw, FlowVal *top)
bool forward () const
bool changed () const
void changed (bool ch)
bool last () const
void last (bool l)
bool basicblocks () const
void basicblocks (bool a)
FlowVal * top () const
virtual void flow_basicblock (FlowVal *v, exprNode *the_expr, Point p)
virtual void flow_node (FlowVal *v, Node *the_node, Point p)
virtual void flow_unit (FlowVal *v, unitNode *the_unit, Point p)
virtual void flow_def (FlowVal *v, defNode *the_def, Point p)
virtual void flow_decl (FlowVal *v, declNode *the_decl, Point p)
virtual void flow_proc (FlowVal *v, procNode *the_proc, Point p)
virtual void flow_type (FlowVal *v, typeNode *the_type, Point p)
virtual void flow_prim (FlowVal *v, primNode *the_prim, Point p)
virtual void flow_tdef (FlowVal *v, tdefNode *the_tdef, Point p)
virtual void flow_ptr (FlowVal *v, ptrNode *the_ptr, Point p)
virtual void flow_array (FlowVal *v, arrayNode *the_array, Point p)
virtual void flow_func (FlowVal *v, funcNode *the_func, Point p)
virtual void flow_sue (FlowVal *v, sueNode *the_sue, Point p)
virtual void flow_struct (FlowVal *v, structNode *the_struct, Point p)
virtual void flow_union (FlowVal *v, unionNode *the_union, Point p)
virtual void flow_enum (FlowVal *v, enumNode *the_enum, Point p)
virtual void flow_suespec (FlowVal *v, suespecNode *the_suespec, Point p)
virtual void flow_expr (FlowVal *v, exprNode *the_expr, Point p)
virtual void flow_const (FlowVal *v, constNode *the_const, Point p)
virtual void flow_id (FlowVal *v, idNode *the_id, Point p)
virtual void flow_binary (FlowVal *v, binaryNode *the_binary, Point p)
virtual void flow_unary (FlowVal *v, unaryNode *the_unary, Point p)
virtual void flow_cast (FlowVal *v, castNode *the_cast, Point p)
virtual void flow_comma (FlowVal *v, commaNode *the_comma, Point p)
virtual void flow_ternary (FlowVal *v, ternaryNode *the_ternary, Point p)
virtual void flow_call (FlowVal *v, callNode *the_call, Point p)
virtual void flow_initializer (FlowVal *v, initializerNode *the_initializer, Point p)
virtual void flow_stmt (FlowVal *v, stmtNode *the_stmt, Point p)
virtual void flow_block (FlowVal *v, blockNode *the_block, Point p)
virtual void flow_exprstmt (FlowVal *v, exprstmtNode *the_exprstmt, Point p)
virtual void flow_target (FlowVal *v, targetNode *the_target, Point p)
virtual void flow_label (FlowVal *v, labelNode *the_label, Point p)
virtual void flow_case (FlowVal *v, caseNode *the_case, Point p)
virtual void flow_selection (FlowVal *v, selectionNode *the_selection, Point p)
virtual void flow_if (FlowVal *v, ifNode *the_if, Point p)
virtual void flow_switch (FlowVal *v, switchNode *the_switch, Point p)
virtual void flow_loop (FlowVal *v, loopNode *the_loop, Point p)
virtual void flow_while (FlowVal *v, whileNode *the_while, Point p)
virtual void flow_do (FlowVal *v, doNode *the_do, Point p)
virtual void flow_for (FlowVal *v, forNode *the_for, Point p)
virtual void flow_jump (FlowVal *v, jumpNode *the_jump, Point p)
virtual void flow_goto (FlowVal *v, gotoNode *the_goto, Point p)
virtual void flow_continue (FlowVal *v, continueNode *the_continue, Point p)
virtual void flow_break (FlowVal *v, breakNode *the_break, Point p)
virtual void flow_return (FlowVal *v, returnNode *the_return, Point p)
virtual void flow_attrib (FlowVal *v, attribNode *the_attrib, Point p)
virtual void flow_text (FlowVal *v, textNode *the_text, Point p)

Private Attributes

bool _forward
bool _changed
bool _last
bool _basicblocks
FlowVal * _top

Member Enumeration Documentation

enum FlowProblem::Point
 

Enumeration values:
Entry 
Exit 


Constructor & Destructor Documentation

FlowProblem::FlowProblem (  bool    forw,
FlowVal *    top
)  [inline]
 


Member Function Documentation

void FlowProblem::basicblocks (  bool    a )  [inline]
 

bool FlowProblem::basicblocks (    )  const [inline]
 

void FlowProblem::changed (  bool    ch )  [inline]
 

bool FlowProblem::changed (    )  const [inline]
 

virtual void FlowProblem::flow_array (  FlowVal *    v,
arrayNode *    the_array,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_attrib (  FlowVal *    v,
attribNode *    the_attrib,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_basicblock (  FlowVal *    v,
exprNode *    the_expr,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_binary (  FlowVal *    v,
binaryNode *    the_binary,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_block (  FlowVal *    v,
blockNode *    n,
Point    p
)  [inline, virtual]
 

Reimplemented in liveFlowProblem.

virtual void FlowProblem::flow_break (  FlowVal *    v,
breakNode *    the_break,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_call (  FlowVal *    v,
callNode *    the_call,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_case (  FlowVal *    v,
caseNode *    the_case,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_cast (  FlowVal *    v,
castNode *    the_cast,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_comma (  FlowVal *    v,
commaNode *    the_comma,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_const (  FlowVal *    v,
constNode *    the_const,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_continue (  FlowVal *    v,
continueNode *    the_continue,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_decl (  FlowVal *    v,
declNode *    the_decl,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_def (  FlowVal *    v,
defNode *    the_def,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_do (  FlowVal *    v,
doNode *    the_do,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_enum (  FlowVal *    v,
enumNode *    the_enum,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_expr (  FlowVal *    v,
exprNode *    the_expr,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_exprstmt (  FlowVal *    v,
exprstmtNode *    the_exprstmt,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_for (  FlowVal *    v,
forNode *    the_for,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_func (  FlowVal *    v,
funcNode *    the_func,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_goto (  FlowVal *    v,
gotoNode *    the_goto,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_id (  FlowVal *    v,
idNode *    the_id,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_if (  FlowVal *    v,
ifNode *    the_if,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_initializer (  FlowVal *    v,
initializerNode *    the_initializer,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_jump (  FlowVal *    v,
jumpNode *    the_jump,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_label (  FlowVal *    v,
labelNode *    the_label,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_loop (  FlowVal *    v,
loopNode *    the_loop,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_node (  FlowVal *    v,
Node *    n,
Point    p
)  [inline, virtual]
 

Reimplemented in liveFlowProblem.

virtual void FlowProblem::flow_prim (  FlowVal *    v,
primNode *    the_prim,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_proc (  FlowVal *    v,
procNode *    the_proc,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_ptr (  FlowVal *    v,
ptrNode *    the_ptr,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_return (  FlowVal *    v,
returnNode *    the_return,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_selection (  FlowVal *    v,
selectionNode *    the_selection,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_stmt (  FlowVal *    v,
stmtNode *    the_stmt,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_struct (  FlowVal *    v,
structNode *    the_struct,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_sue (  FlowVal *    v,
sueNode *    the_sue,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_suespec (  FlowVal *    v,
suespecNode *    the_suespec,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_switch (  FlowVal *    v,
switchNode *    the_switch,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_target (  FlowVal *    v,
targetNode *    the_target,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_tdef (  FlowVal *    v,
tdefNode *    the_tdef,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_ternary (  FlowVal *    v,
ternaryNode *    the_ternary,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_text (  FlowVal *    v,
textNode *    the_text,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_type (  FlowVal *    v,
typeNode *    the_type,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_unary (  FlowVal *    v,
unaryNode *    the_unary,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_union (  FlowVal *    v,
unionNode *    the_union,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_unit (  FlowVal *    v,
unitNode *    the_unit,
Point    p
)  [inline, virtual]
 

virtual void FlowProblem::flow_while (  FlowVal *    v,
whileNode *    the_while,
Point    p
)  [inline, virtual]
 

bool FlowProblem::forward (    )  const [inline]
 

void FlowProblem::iterate (  Node *    n,
FlowVal *    initial = 0
) 
 

void FlowProblem::last (  bool    l )  [inline]
 

bool FlowProblem::last (    )  const [inline]
 

FlowVal* FlowProblem::top (    )  const [inline]
 


Member Data Documentation

bool FlowProblem::_basicblocks [private]
 

bool FlowProblem::_changed [private]
 

bool FlowProblem::_forward [private]
 

bool FlowProblem::_last [private]
 

FlowVal* FlowProblem::_top [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 12:06:28 2002 for C-Breeze by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001