FAUST compiler  0.9.9.6b8
Functions
colorize.h File Reference
#include <set>
#include <algorithm>
#include <iterator>
#include "tlib.hh"
Include dependency graph for colorize.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void splitDependance (const set< Tree > &exps, set< Tree > &post, set< Tree > &pre)
 Analyze a set of expressions to discover its dependencies that is subexpressions common to at least two of these expressions. More...
 

Function Documentation

void splitDependance ( const set< Tree > &  exps,
set< Tree > &  post,
set< Tree > &  pre 
)

Analyze a set of expressions to discover its dependencies that is subexpressions common to at least two of these expressions.

Parameters
expsset of expressions to analyze
postresulting set of post expressions
preresulting set of pre expressions

Definition at line 28 of file colorize.cpp.

References allocateColor(), colorize(), listMultiColoredExp(), and uncolorize().

29 {
30  set<Tree>::const_iterator e;
31  for (e= exps.begin(); e != exps.end(); e++) {
32  colorize(*e, allocateColor(*e));
33  }
34 
35  pre.clear();
36  for (e = exps.begin(); e != exps.end(); e++) {
37  listMultiColoredExp(*e, pre);
38  }
39 
40  post.clear();
41  set_difference(exps.begin(), exps.end(), pre.begin(), pre.end(), inserter(post, post.begin()));
42 
43  for (e = exps.begin(); e != exps.end(); e++) {
44  uncolorize(*e);
45  }
46 }
static void uncolorize(Tree exp)
remove color information
Definition: colorize.cpp:86
static int allocateColor(Tree exp)
allocate a new unique color for exp
Definition: colorize.cpp:59
static void listMultiColoredExp(Tree exp, set< Tree > &lst)
list multicolored subexpressions of exp
Definition: colorize.cpp:99
static void colorize(Tree exp, int color)
add color information to exp and all its subtrees
Definition: colorize.cpp:73

Here is the call graph for this function: