|
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.
Definition at line 115 of file eval.cpp.
References a2sb(), eval(), nil, and pushMultiClosureDefs().
Referenced by mapEvalDocEqn(), and printDocDgm().


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;
}


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;
}
Simplify a block-diagram pattern by computing its numerical sub-expressions.
| pattern | an evaluated block-diagram |
Definition at line 591 of file eval.cpp.
{
Tree num;
if (!getNumericProperty(value,num)) {
if (!isBoxNumeric(value,num)) {
num = value;
}
setNumericProperty(value,num);
}
return num;
}
1.7.5.1