21 Tree sel, s1, s2, s3, s4, ff, id, ls, l, var, body, type,
name, file, cur,
min,
max, step;
25 if (
isSigInt(sig, &i)) visitInt (sig, i);
27 else if (
isSigReal(sig, &r)) visitReal (sig, r);
30 else if (
isSigInput(sig, &i)) visitInput (sig, i);
32 else if (
isSigOutput(sig, &i, s1)) visitOutput (sig, i, s1);
35 else if (
isSigDelay1(sig, s1)) visitDelay1 (sig, s1);
37 else if (
isSigPrefix(sig, s1, s2)) visitPrefix (sig, s1, s2);
39 else if (
isSigFixDelay(sig, s1, s2)) visitFixDelay (sig, s1, s2);
42 else if (
isSigBinOp(sig, &i, s1, s2)) visitBinOp(sig, i, s1, s2);
48 else if (
isSigFFun(sig, ff, ls)) visitFFun(sig,ff,ls);
50 else if (
isSigFConst(sig,type,name,file)) visitFConst(sig,type,name,file);
52 else if (
isSigFVar(sig,type,name,file)) visitFVar(sig,type,name,file);
61 else if (
isSigVSlider(sig, l, cur, min, max, step)) visitVSlider(sig, l, cur, min, max, step);
63 else if (
isSigHSlider(sig, l, cur, min, max, step)) visitHSlider(sig, l, cur, min, max, step);
65 else if (
isSigNumEntry(sig, l, cur, min, max, step)) visitNumEntry(sig, l, cur, min, max, step);
67 else if (
isSigHBargraph(sig, l, min, max, s1)) visitHBargraph(sig, l, min, max, s1);
69 else if (
isSigVBargraph(sig, l, min, max, s1)) visitVBargraph(sig, l, min, max, s1);
71 else if (
isSigAttach(sig, s1, s2)) visitAttach(sig, s1, s2);
76 else if (
isRec(sig, var, body)) visitRec(sig, var, body);
78 else if (
isRef(sig, var)) visitRef(sig, var);
80 else if (
isProj(sig, &i, s1)) visitProj(sig, i, s1);
85 else if (
isSigTable(sig,
id, s1, s2)) visitTable(sig,
id, s1, s2);
87 else if (
isSigWRTbl(sig,
id, s1, s2, s3)) visitWRTbl(sig,
id, s1, s2, s3);
89 else if (
isSigRDTbl(sig, s1, s2)) visitRDTbl(sig, s1, s2);
91 else if (
isSigGen(sig, s1)) visitGen(sig, s1);
96 else if (
isSigDocWriteTbl(sig,s1,s2,s3,s4)) visitDocWriteTbl(sig,s1,s2,s3,s4);
103 else if (
isSigSelect2(sig,sel,s1,s2)) visitSelect2(sig,sel,s1,s2);
105 else if (
isSigSelect3(sig,sel,s1,s2,s3)) visitSelect3(sig,sel,s1,s2,s3);
107 else if (
isList(sig)) visitList(sig);
112 else if (
isSigTuple(sig,&i,ls)) visitTuple(sig,i,ls);
119 else visitError(sig);
124 cerr <<
"ERROR visiting signal" << endl;
bool isSigRDTbl(Tree s, Tree &t, Tree &i)
bool isSigHSlider(Tree s)
bool isSigPrefix(Tree t, Tree &t0, Tree &t1)
bool isSigCheckbox(Tree s)
bool isSigFFun(Tree s, Tree &ff, Tree &largs)
bool isSigNumEntry(Tree s)
bool isSigTuple(Tree s, int *mode, Tree &ls)
bool isSigSelect2(Tree t, Tree &selector, Tree &s1, Tree &s2)
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
bool isSigInput(Tree t, int *i)
bool isSigFixDelay(Tree t, Tree &t0, Tree &t1)
bool isSigVBargraph(Tree s)
bool isSigSelect3(Tree t, Tree &selector, Tree &s1, Tree &s2, Tree &s3)
bool isSigVSlider(Tree s)
double max(double x, double y)
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
bool isSigTupleAccess(Tree s, Tree &ts, Tree &idx)
bool isSigHBargraph(Tree s)
bool isSigDocConstantTbl(Tree t, Tree &n, Tree &sig)
bool isSigTable(Tree t, Tree &id, Tree &n, Tree &sig)
void visit(Tree sig)
Infere the type of a term according to its surrounding type environment.
bool isSigBinOp(Tree s, int *op, Tree &x, Tree &y)
bool isSigAttach(Tree t, Tree &t0, Tree &t1)
virtual void visitError(Tree sig)
bool isSigDocAccessTbl(Tree t, Tree &tbl, Tree &ridx)
bool isSigWRTbl(Tree u, Tree &id, Tree &t, Tree &i, Tree &s)
const char * name(Symbol *sym)
Returns the name of a symbol.
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)
bool isSigIntCast(Tree t)
bool isProj(Tree t, int *i, Tree &rgroup)
double min(double x, double y)
bool isSigOutput(Tree t, int *i, Tree &t0)