|
FAUST compiler
0.9.9.6b8
|
Interface of the block diagram evaluator. More...


Go to the source code of this file.
Functions | |
| Tree | evalprocess (Tree eqlist) |
| Eval the definition of 'process'. | |
| Tree | evaldocexpr (Tree docexpr, Tree eqlist) |
| Tree | pushValueDef (Tree id, Tree def, Tree lenv) |
| Push a new layer and add a single definition. | |
| Tree | simplifyPattern (Tree pattern) |
| Simplify a block-diagram pattern by computing its numerical sub-expressions. | |
Interface of the block diagram evaluator.
A strict lambda-calculus evaluator for block diagram expressions.
Definition in file eval.hh.
| Tree evaldocexpr | ( | Tree | docexpr, |
| Tree | eqlist | ||
| ) |
Definition at line 115 of file eval.cpp.
References a2sb(), eval(), nil, and pushMultiClosureDefs().
Referenced by mapEvalDocEqn(), and printDocDgm().


| Tree evalprocess | ( | Tree | eqlist | ) |
Eval the definition of 'process'.
Eval the definition of 'process' in the environment passed as argument
| eqlist | the global environment (a list of definitions) |
Eval the definition of 'process'.
Strict evaluation of a block diagram expression by applying beta reduction.
| eqlist | a list of faust defintions forming the the global environment |
Definition at line 101 of file eval.cpp.
References a2sb(), boxIdent(), boxSimplification(), eval(), gSimplifyDiagrams, nil, and pushMultiClosureDefs().
Referenced by main().
{
Tree b = a2sb(eval(boxIdent("process"), nil, pushMultiClosureDefs(eqlist, nil, nil)));
if (gSimplifyDiagrams) {
b = boxSimplification(b);
}
return b;
}


| Tree pushValueDef | ( | Tree | id, |
| Tree | def, | ||
| Tree | lenv | ||
| ) |
Push a new layer and add a single definition.
| id | the symbol id to be defined |
| def | the definition to be binded to the symbol id |
| lenv | the environment where to push the layer and add the definition |
Definition at line 94 of file environment.cpp.
{
Tree lenv2 = pushNewLayer(lenv);
addLayerDef(id, def, lenv2);
return lenv2;
}
| Tree simplifyPattern | ( | Tree | value | ) |
Simplify a block-diagram pattern by computing its numerical sub-expressions.
| pattern | an evaluated block-diagram |
Definition at line 590 of file eval.cpp.
{
Tree num;
if (!getNumericProperty(value,num)) {
if (!isBoxNumeric(value,num)) {
num = value;
}
setNumericProperty(value,num);
}
return num;
}
1.8.0