|
FAUST compiler
0.9.9.6b8
|
#include <sigvisitor.hh>

Public Member Functions | |
| void | visit (Tree sig) |
| Infere the type of a term according to its surrounding type environment. | |
| virtual void | visitError (Tree sig) |
| virtual | ~sigvisitor () |
| virtual void | visitInt (Tree sig, int i)=0 |
| virtual void | visitReal (Tree sig, double r)=0 |
| virtual void | visitInput (Tree sig, int i)=0 |
| virtual void | visitOutput (Tree sig, int i, Tree s)=0 |
| virtual void | visitDelay1 (Tree sig, Tree s)=0 |
| virtual void | visitPrefix (Tree sig, Tree s1, Tree s2)=0 |
| virtual void | visitFixDelay (Tree sig, Tree s1, Tree s2)=0 |
| virtual void | visitBinOp (Tree sig, int opcode, Tree s1, Tree s2)=0 |
| virtual void | visitIntCast (Tree sig, Tree s)=0 |
| virtual void | visitFloatCast (Tree sig, Tree s)=0 |
| virtual void | visitFFun (Tree sig, Tree ff, Tree ls)=0 |
| virtual void | visitFConst (Tree sig, Tree type, Tree name, Tree file)=0 |
| virtual void | visitFVar (Tree sig, Tree type, Tree name, Tree file)=0 |
| virtual void | visitButton (Tree sig, Tree label)=0 |
| virtual void | visitCheckbox (Tree sig, Tree label)=0 |
| virtual void | visitVSlider (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step)=0 |
| virtual void | visitHSlider (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step)=0 |
| virtual void | visitNumEntry (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step)=0 |
| virtual void | visitVBargraph (Tree sig, Tree label, Tree min, Tree max, Tree s1)=0 |
| virtual void | visitHBargraph (Tree sig, Tree label, Tree min, Tree max, Tree s1)=0 |
| virtual void | visitAttach (Tree sig, Tree s1, Tree s2)=0 |
| virtual void | visitRec (Tree sig, Tree var, Tree body)=0 |
| virtual void | visitRef (Tree sig, Tree var)=0 |
| virtual void | visitProj (Tree sig, int i, Tree s1)=0 |
| virtual void | visitTable (Tree sig, Tree id, Tree s1, Tree s2)=0 |
| virtual void | visitWRTbl (Tree sig, Tree id, Tree s1, Tree s2, Tree s3)=0 |
| virtual void | visitRDTbl (Tree sig, Tree s1, Tree s2)=0 |
| virtual void | visitGen (Tree sig, Tree s1)=0 |
| virtual void | visitDocConstantTbl (Tree sig, Tree s1, Tree s2)=0 |
| virtual void | visitDocWriteTbl (Tree sig, Tree s1, Tree s2, Tree s3, Tree s4)=0 |
| virtual void | visitDocAccessTbl (Tree sig, Tree s1, Tree s2)=0 |
| virtual void | visitSelect2 (Tree sig, Tree sel, Tree s1, Tree s2)=0 |
| virtual void | visitSelect3 (Tree sig, Tree sel, Tree s1, Tree s2, Tree s3)=0 |
| virtual void | visitTuple (Tree sig, int mod, Tree ls)=0 |
| virtual void | visitTupleAccess (Tree sig, Tree ts, Tree idx)=0 |
| virtual void | visitList (Tree lsig)=0 |
Definition at line 6 of file sigvisitor.hh.
| virtual sigvisitor::~sigvisitor | ( | ) | [inline, virtual] |
Definition at line 14 of file sigvisitor.hh.
{}
| void sigvisitor::visit | ( | Tree | sig | ) |
Infere the type of a term according to its surrounding type environment.
| sig | the signal to aanlyze |
| env | the type environment |
Definition at line 17 of file sigvisitor.cpp.
References isList(), isProj(), isRec(), isRef(), isSigAttach(), isSigBinOp(), isSigButton(), isSigCheckbox(), isSigDelay1(), isSigDocAccessTbl(), isSigDocConstantTbl(), isSigDocWriteTbl(), isSigFConst(), isSigFFun(), isSigFixDelay(), isSigFloatCast(), isSigFVar(), isSigGen(), isSigHBargraph(), isSigHSlider(), isSigInput(), isSigInt(), isSigIntCast(), isSigNumEntry(), isSigOutput(), isSigPrefix(), isSigRDTbl(), isSigReal(), isSigSelect2(), isSigSelect3(), isSigTable(), isSigTuple(), isSigTupleAccess(), isSigVBargraph(), isSigVSlider(), isSigWRTbl(), max(), min(), and name().
Referenced by fullvisitor::visitAttach(), fullvisitor::visitBinOp(), fullvisitor::visitDelay1(), fullvisitor::visitFFun(), fullvisitor::visitFixDelay(), fullvisitor::visitFloatCast(), fullvisitor::visitGen(), fullvisitor::visitHBargraph(), fullvisitor::visitIntCast(), fullvisitor::visitList(), fullvisitor::visitOutput(), fullvisitor::visitPrefix(), fullvisitor::visitProj(), fullvisitor::visitRDTbl(), fullvisitor::visitRec(), fullvisitor::visitSelect2(), fullvisitor::visitSelect3(), fullvisitor::visitTable(), fullvisitor::visitTuple(), fullvisitor::visitTupleAccess(), fullvisitor::visitVBargraph(), and fullvisitor::visitWRTbl().
{
int i;
double r;
Tree sel, s1, s2, s3, s4, ff, id, ls, l, var, body, type, name, file, cur, min, max, step;
assert(sig);
if (isSigInt(sig, &i)) visitInt (sig, i);
else if (isSigReal(sig, &r)) visitReal (sig, r);
else if (isSigInput(sig, &i)) visitInput (sig, i);
else if (isSigOutput(sig, &i, s1)) visitOutput (sig, i, s1);
else if (isSigDelay1(sig, s1)) visitDelay1 (sig, s1);
else if (isSigPrefix(sig, s1, s2)) visitPrefix (sig, s1, s2);
else if (isSigFixDelay(sig, s1, s2)) visitFixDelay (sig, s1, s2);
else if (isSigBinOp(sig, &i, s1, s2)) visitBinOp(sig, i, s1, s2);
else if (isSigIntCast(sig, s1)) visitIntCast(sig, s1);
else if (isSigFloatCast(sig, s1)) visitFloatCast(sig, s1);
else if (isSigFFun(sig, ff, ls)) visitFFun(sig,ff,ls);
else if (isSigFConst(sig,type,name,file)) visitFConst(sig,type,name,file);
else if (isSigFVar(sig,type,name,file)) visitFVar(sig,type,name,file);
//---------------
else if (isSigButton(sig, l)) visitButton(sig, l);
else if (isSigCheckbox(sig, l)) visitCheckbox(sig, l);
else if (isSigVSlider(sig, l, cur, min, max, step)) visitVSlider(sig, l, cur, min, max, step);
else if (isSigHSlider(sig, l, cur, min, max, step)) visitHSlider(sig, l, cur, min, max, step);
else if (isSigNumEntry(sig, l, cur, min, max, step)) visitNumEntry(sig, l, cur, min, max, step);
else if (isSigHBargraph(sig, l, min, max, s1)) visitHBargraph(sig, l, min, max, s1);
else if (isSigVBargraph(sig, l, min, max, s1)) visitVBargraph(sig, l, min, max, s1);
else if (isSigAttach(sig, s1, s2)) visitAttach(sig, s1, s2);
//------------------------
else if (isRec(sig, var, body)) visitRec(sig, var, body);
else if (isRef(sig, var)) visitRef(sig, var);
else if (isProj(sig, &i, s1)) visitProj(sig, i, s1);
//----------------------------
else if (isSigTable(sig, id, s1, s2)) visitTable(sig, id, s1, s2);
else if (isSigWRTbl(sig, id, s1, s2, s3)) visitWRTbl(sig, id, s1, s2, s3);
else if (isSigRDTbl(sig, s1, s2)) visitRDTbl(sig, s1, s2);
else if (isSigGen(sig, s1)) visitGen(sig, s1);
else if (isSigDocConstantTbl(sig, s1, s2)) visitDocConstantTbl(sig, s1, s2);
else if (isSigDocWriteTbl(sig,s1,s2,s3,s4)) visitDocWriteTbl(sig,s1,s2,s3,s4);
else if (isSigDocAccessTbl(sig,s1,s2)) visitDocAccessTbl(sig,s1,s2);
//----------------------------
else if (isSigSelect2(sig,sel,s1,s2)) visitSelect2(sig,sel,s1,s2);
else if (isSigSelect3(sig,sel,s1,s2,s3)) visitSelect3(sig,sel,s1,s2,s3);
else if (isList(sig)) visitList(sig);
//----------------------------
else if (isSigTuple(sig,&i,ls)) visitTuple(sig,i,ls);
else if (isSigTupleAccess(sig,s1,s2)) visitTupleAccess(sig,s1,s2);
//----------------------------
else visitError(sig);
}


| virtual void sigvisitor::visitAttach | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitBinOp | ( | Tree | sig, |
| int | opcode, | ||
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitButton | ( | Tree | sig, |
| Tree | label | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitCheckbox | ( | Tree | sig, |
| Tree | label | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitDelay1 | ( | Tree | sig, |
| Tree | s | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitDocAccessTbl | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
| virtual void sigvisitor::visitDocConstantTbl | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
| virtual void sigvisitor::visitDocWriteTbl | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2, | ||
| Tree | s3, | ||
| Tree | s4 | ||
| ) | [pure virtual] |
| void sigvisitor::visitError | ( | Tree | sig | ) | [virtual] |
Definition at line 122 of file sigvisitor.cpp.
{
cerr << "ERROR visiting signal" << endl;
}
| virtual void sigvisitor::visitFConst | ( | Tree | sig, |
| Tree | type, | ||
| Tree | name, | ||
| Tree | file | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitFFun | ( | Tree | sig, |
| Tree | ff, | ||
| Tree | ls | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitFixDelay | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitFloatCast | ( | Tree | sig, |
| Tree | s | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitFVar | ( | Tree | sig, |
| Tree | type, | ||
| Tree | name, | ||
| Tree | file | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitGen | ( | Tree | sig, |
| Tree | s1 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitHBargraph | ( | Tree | sig, |
| Tree | label, | ||
| Tree | min, | ||
| Tree | max, | ||
| Tree | s1 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitHSlider | ( | Tree | sig, |
| Tree | label, | ||
| Tree | cur, | ||
| Tree | min, | ||
| Tree | max, | ||
| Tree | step | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitInput | ( | Tree | sig, |
| int | i | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitInt | ( | Tree | sig, |
| int | i | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitIntCast | ( | Tree | sig, |
| Tree | s | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitList | ( | Tree | lsig | ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitNumEntry | ( | Tree | sig, |
| Tree | label, | ||
| Tree | cur, | ||
| Tree | min, | ||
| Tree | max, | ||
| Tree | step | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitOutput | ( | Tree | sig, |
| int | i, | ||
| Tree | s | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitPrefix | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitProj | ( | Tree | sig, |
| int | i, | ||
| Tree | s1 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitRDTbl | ( | Tree | sig, |
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitReal | ( | Tree | sig, |
| double | r | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitRec | ( | Tree | sig, |
| Tree | var, | ||
| Tree | body | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitRef | ( | Tree | sig, |
| Tree | var | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitSelect2 | ( | Tree | sig, |
| Tree | sel, | ||
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitSelect3 | ( | Tree | sig, |
| Tree | sel, | ||
| Tree | s1, | ||
| Tree | s2, | ||
| Tree | s3 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitTable | ( | Tree | sig, |
| Tree | id, | ||
| Tree | s1, | ||
| Tree | s2 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitTuple | ( | Tree | sig, |
| int | mod, | ||
| Tree | ls | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitTupleAccess | ( | Tree | sig, |
| Tree | ts, | ||
| Tree | idx | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitVBargraph | ( | Tree | sig, |
| Tree | label, | ||
| Tree | min, | ||
| Tree | max, | ||
| Tree | s1 | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
| virtual void sigvisitor::visitVSlider | ( | Tree | sig, |
| Tree | label, | ||
| Tree | cur, | ||
| Tree | min, | ||
| Tree | max, | ||
| Tree | step | ||
| ) | [pure virtual] |
Implemented in fullvisitor.
Implemented in fullvisitor.
1.8.0