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)
FlowValtop () 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