FAUST compiler  0.9.9.6b8
environment.hh
Go to the documentation of this file.
1 #ifndef ENVIRONMENT_HH
2 #define ENVIRONMENT_HH
3 
4 
5 #include "tlib.hh"
6 
7 Tree pushValueDef(Tree id, Tree def, Tree lenv);
8 
9 bool searchIdDef(Tree id, Tree& def, Tree lenv);
10 
11 Tree pushMultiClosureDefs(Tree ldefs, Tree visited, Tree lenv);
12 
13 Tree copyEnvReplaceDefs(Tree anEnv, Tree ldefs, Tree visited, Tree curEnv);
14 
15 bool isEnvBarrier(Tree t);
16 
18 
19 
20 #endif // ENVIRONMENT_HH
bool searchIdDef(Tree id, Tree &def, Tree lenv)
Search the environment (until first barrier) for the definition of a symbol ID and return it...
Tree pushMultiClosureDefs(Tree ldefs, Tree visited, Tree lenv)
Push a new layer with multiple definitions creating the appropriate closures.
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
Definition: tree.hh:109
Tree pushEnvBarrier(Tree lenv)
Definition: environment.cpp:43
Tree copyEnvReplaceDefs(Tree anEnv, Tree ldefs, Tree visited, Tree curEnv)
Create a new environment by copying an existing one and replacing some definitions.
Tree pushValueDef(Tree id, Tree def, Tree lenv)
Push a new layer and add a single definition.
Definition: environment.cpp:94
bool isEnvBarrier(Tree t)
Test if the environment is a barrier (or nil) so that searchIdDef will know where to stop when search...
Definition: environment.cpp:56