41 return fout << funame <<
'(' <<
ppsig(x,
fEnv) <<
')';
66 fout << funame <<
'(';
73 fout << funame <<
'(';
84 fout << funame <<
'(';
97 fout <<
"OUT" << i <<
" = " <<
ppsig(x,
fEnv, 0);
104 fout << *
hd(pathname);
105 pathname =
tl(pathname);
106 while (!
isNil(pathname)) {
107 fout <<
'/' << *
tl(
hd(pathname));
108 pathname =
tl(pathname);
117 while (!
isNil(largs)) {
136 if (
isSigInt(delay, &d) && (d==1)) {
160 fout <<
"debruijn(" <<
ppsig(lexp,
fEnv) <<
")";
169 fout << p->
name() <<
'(';
170 for (
int i = 0; i < sig->
arity(); i++) {
183 Tree c, sel, x, y, z, u, var, le, label, id, ff, largs, type,
name, file;
186 else if (
isProj(
sig, &i, x) ) { fout <<
"proj" << i <<
'(' <<
ppsig(x,
fEnv) <<
')'; }
191 else if (
isRef(
sig, i) ) { fout <<
"REF[" << i <<
"]"; }
197 else if (
isSigInput(
sig, &i) ) { fout <<
"IN[" << i <<
"]"; }
227 else if (
isSigVSlider(
sig, label,c,x,y,z) ) {
printui(fout,
"vslider", label, c, x, y, z); }
228 else if (
isSigHSlider(
sig, label,c,x,y,z) ) {
printui(fout,
"hslider", label, c, x, y, z); }
229 else if (
isSigNumEntry(
sig, label,c,x,y,z) ) {
printui(fout,
"nentry", label, c, x, y, z); }
235 cerr <<
"NOT A SIGNAL : " << *
sig << endl;
bool isSigHSlider(Tree s)
bool isSigRDTbl(Tree s, Tree &t, Tree &i)
bool isSigPrefix(Tree t, Tree &t0, Tree &t1)
bool isSigCheckbox(Tree s)
Tree addElement(Tree e, Tree l)
bool isSigFFun(Tree s, Tree &ff, Tree &largs)
ostream & printff(ostream &fout, Tree ff, Tree largs) const
bool isSigNumEntry(Tree s)
bool isSigSelect2(Tree t, Tree &selector, Tree &s1, Tree &s2)
int fPriority
priority context
ostream & printinfix(ostream &fout, const string &opname, int priority, Tree x, Tree y) const
bool isSigIota(Tree t, Tree &t0)
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
const char * ffname(Tree t)
bool isSigInput(Tree t, int *i)
bool isSigFixDelay(Tree t, Tree &t0, Tree &t1)
ostream & printrec(ostream &fout, Tree var, Tree lexp, bool hide) const
bool isSigVBargraph(Tree s)
bool isSigSelect3(Tree t, Tree &selector, Tree &s1, Tree &s2, Tree &s3)
bool isSigVSlider(Tree s)
ostream & printout(ostream &fout, int i, Tree x) const
ostream & printfun(ostream &fout, const string &funame, Tree x) const
bool isSigGen(Tree t, Tree &x)
bool isSigReal(Tree t, double *r)
bool isRef(Tree t, int &level)
is t a de Bruijn recursive reference
ostream & printlist(ostream &fout, Tree largs) const
bool isSigHBargraph(Tree s)
bool isSigDocConstantTbl(Tree t, Tree &n, Tree &sig)
bool isSigTable(Tree t, Tree &id, Tree &n, Tree &sig)
Tree fEnv
recursive environment stack
bool isSigBinOp(Tree s, int *op, Tree &x, Tree &y)
bool isSigAttach(Tree t, Tree &t0, Tree &t1)
ostream & printextended(ostream &fout, Tree sig) const
bool isElement(const set< Loop * > &S, Loop *l)
bool isSigDocAccessTbl(Tree t, Tree &tbl, Tree &ridx)
bool isSigWRTbl(Tree u, Tree &id, Tree &t, Tree &i, Tree &s)
int arity() const
return the number of branches (subtrees) of a tree
const char * name(Symbol *sym)
Returns the name of a symbol.
bool isSigWaveform(Tree s)
bool isRec(Tree t, Tree &body)
is t a de Bruijn recursive tree
bool isSigInt(Tree t, int *i)
bool isSigDocWriteTbl(Tree t, Tree &n, Tree &sig, Tree &widx, Tree &wsig)
bool isSigDelay1(Tree t, Tree &t0)
bool isSigFloatCast(Tree t)
void * getUserData(Symbol *sym)
Returns user data.
bool isSigIntCast(Tree t)
bool isProj(Tree t, int *i, Tree &rgroup)
ostream & printui(ostream &fout, const string &funame, Tree label) const
ostream & printlabel(ostream &fout, Tree pathname) const
ostream & printFixDelay(ostream &fout, Tree exp, Tree delay) const
const char * tree2str(Tree t)
if t has a node of type symbol, return its name otherwise error
Tree branch(int i) const
return the ith branch (subtree) of a tree
ostream & print(ostream &fout) const
bool isSigOutput(Tree t, int *i, Tree &t0)