#include <sigvisitor.hh>
Inherited by fullvisitor.
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, float 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(), name(), visitAttach(), visitBinOp(), visitButton(), visitCheckbox(), visitDelay1(), visitDocAccessTbl(), visitDocConstantTbl(), visitDocWriteTbl(), visitError(), visitFConst(), visitFFun(), visitFixDelay(), visitFloatCast(), visitFVar(), visitGen(), visitHBargraph(), visitHSlider(), visitInput(), visitInt(), visitIntCast(), visitList(), visitNumEntry(), visitOutput(), visitPrefix(), visitProj(), visitRDTbl(), visitReal(), visitRec(), visitRef(), visitSelect2(), visitSelect3(), visitTable(), visitTuple(), visitTupleAccess(), visitVBargraph(), visitVSlider(), and visitWRTbl().
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().
00018 { 00019 int i; 00020 double r; 00021 Tree sel, s1, s2, s3, s4, ff, id, ls, l, var, body, type, name, file, cur, min, max, step; 00022 00023 assert(sig); 00024 00025 if (isSigInt(sig, &i)) visitInt (sig, i); 00026 00027 else if (isSigReal(sig, &r)) visitReal (sig, r); 00028 00029 00030 else if (isSigInput(sig, &i)) visitInput (sig, i); 00031 00032 else if (isSigOutput(sig, &i, s1)) visitOutput (sig, i, s1); 00033 00034 00035 else if (isSigDelay1(sig, s1)) visitDelay1 (sig, s1); 00036 00037 else if (isSigPrefix(sig, s1, s2)) visitPrefix (sig, s1, s2); 00038 00039 else if (isSigFixDelay(sig, s1, s2)) visitFixDelay (sig, s1, s2); 00040 00041 00042 else if (isSigBinOp(sig, &i, s1, s2)) visitBinOp(sig, i, s1, s2); 00043 00044 else if (isSigIntCast(sig, s1)) visitIntCast(sig, s1); 00045 00046 else if (isSigFloatCast(sig, s1)) visitFloatCast(sig, s1); 00047 00048 else if (isSigFFun(sig, ff, ls)) visitFFun(sig,ff,ls); 00049 00050 else if (isSigFConst(sig,type,name,file)) visitFConst(sig,type,name,file); 00051 00052 else if (isSigFVar(sig,type,name,file)) visitFVar(sig,type,name,file); 00053 00054 00055 //--------------- 00056 00057 else if (isSigButton(sig, l)) visitButton(sig, l); 00058 00059 else if (isSigCheckbox(sig, l)) visitCheckbox(sig, l); 00060 00061 else if (isSigVSlider(sig, l, cur, min, max, step)) visitVSlider(sig, l, cur, min, max, step); 00062 00063 else if (isSigHSlider(sig, l, cur, min, max, step)) visitHSlider(sig, l, cur, min, max, step); 00064 00065 else if (isSigNumEntry(sig, l, cur, min, max, step)) visitNumEntry(sig, l, cur, min, max, step); 00066 00067 else if (isSigHBargraph(sig, l, min, max, s1)) visitHBargraph(sig, l, min, max, s1); 00068 00069 else if (isSigVBargraph(sig, l, min, max, s1)) visitVBargraph(sig, l, min, max, s1); 00070 00071 else if (isSigAttach(sig, s1, s2)) visitAttach(sig, s1, s2); 00072 00073 00074 //------------------------ 00075 00076 else if (isRec(sig, var, body)) visitRec(sig, var, body); 00077 00078 else if (isRef(sig, var)) visitRef(sig, var); 00079 00080 else if (isProj(sig, &i, s1)) visitProj(sig, i, s1); 00081 00082 00083 //---------------------------- 00084 00085 else if (isSigTable(sig, id, s1, s2)) visitTable(sig, id, s1, s2); 00086 00087 else if (isSigWRTbl(sig, id, s1, s2, s3)) visitWRTbl(sig, id, s1, s2, s3); 00088 00089 else if (isSigRDTbl(sig, s1, s2)) visitRDTbl(sig, s1, s2); 00090 00091 else if (isSigGen(sig, s1)) visitGen(sig, s1); 00092 00093 00094 else if (isSigDocConstantTbl(sig, s1, s2)) visitDocConstantTbl(sig, s1, s2); 00095 00096 else if (isSigDocWriteTbl(sig,s1,s2,s3,s4)) visitDocWriteTbl(sig,s1,s2,s3,s4); 00097 00098 else if (isSigDocAccessTbl(sig,s1,s2)) visitDocAccessTbl(sig,s1,s2); 00099 00100 00101 //---------------------------- 00102 00103 else if (isSigSelect2(sig,sel,s1,s2)) visitSelect2(sig,sel,s1,s2); 00104 00105 else if (isSigSelect3(sig,sel,s1,s2,s3)) visitSelect3(sig,sel,s1,s2,s3); 00106 00107 else if (isList(sig)) visitList(sig); 00108 00109 00110 //---------------------------- 00111 00112 else if (isSigTuple(sig,&i,ls)) visitTuple(sig,i,ls); 00113 00114 else if (isSigTupleAccess(sig,s1,s2)) visitTupleAccess(sig,s1,s2); 00115 00116 00117 //---------------------------- 00118 00119 else visitError(sig); 00120 }
void sigvisitor::visitError | ( | Tree | sig | ) | [virtual] |
Definition at line 122 of file sigvisitor.cpp.
Referenced by visit().
virtual void sigvisitor::visitInput | ( | Tree | sig, | |
int | i | |||
) | [pure virtual] |
virtual void sigvisitor::visitInt | ( | Tree | sig, | |
int | i | |||
) | [pure virtual] |
virtual void sigvisitor::visitList | ( | Tree | lsig | ) | [pure virtual] |
virtual void sigvisitor::visitReal | ( | Tree | sig, | |
float | r | |||
) | [pure virtual] |