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.

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

{
    set<Tree>::const_iterator e;
    for (e= exps.begin(); e != exps.end(); e++) {
        colorize(*e, allocateColor(*e));
    }
    
    pre.clear();
    for (e = exps.begin(); e != exps.end(); e++) {
        listMultiColoredExp(*e, pre);
    }
    
    post.clear();
    set_difference(exps.begin(), exps.end(), pre.begin(), pre.end(), inserter(post, post.begin()));
    
    for (e = exps.begin(); e != exps.end(); e++) {
        uncolorize(*e);
    }
}

Here is the call graph for this function: