sigvisitor Struct Reference

#include <sigvisitor.hh>

Inherited by fullvisitor.

List of all members.

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

Detailed Description

Definition at line 6 of file sigvisitor.hh.


Constructor & Destructor Documentation

virtual sigvisitor::~sigvisitor (  )  [inline, virtual]

Definition at line 14 of file sigvisitor.hh.

00014 {}


Member Function Documentation

void sigvisitor::visit ( Tree  sig  ) 

Infere the type of a term according to its surrounding type environment.

Parameters:
sig the signal to aanlyze
env the type environment
Returns:
the type of sig according to environment env

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 }

Here is the caller graph for this function:

virtual void sigvisitor::visitAttach ( Tree  sig,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitBinOp ( Tree  sig,
int  opcode,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitButton ( Tree  sig,
Tree  label 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitCheckbox ( Tree  sig,
Tree  label 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitDelay1 ( Tree  sig,
Tree  s 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitDocAccessTbl ( Tree  sig,
Tree  s1,
Tree  s2 
) [pure virtual]

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitDocConstantTbl ( Tree  sig,
Tree  s1,
Tree  s2 
) [pure virtual]

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitDocWriteTbl ( Tree  sig,
Tree  s1,
Tree  s2,
Tree  s3,
Tree  s4 
) [pure virtual]

Referenced by visit().

Here is the caller graph for this function:

void sigvisitor::visitError ( Tree  sig  )  [virtual]

Definition at line 122 of file sigvisitor.cpp.

Referenced by visit().

00123 {
00124     cerr << "ERROR visiting signal" << endl;
00125 }

Here is the caller graph for this function:

virtual void sigvisitor::visitFConst ( Tree  sig,
Tree  type,
Tree  name,
Tree  file 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitFFun ( Tree  sig,
Tree  ff,
Tree  ls 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitFixDelay ( Tree  sig,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitFloatCast ( Tree  sig,
Tree  s 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitFVar ( Tree  sig,
Tree  type,
Tree  name,
Tree  file 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitGen ( Tree  sig,
Tree  s1 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitHBargraph ( Tree  sig,
Tree  label,
Tree  min,
Tree  max,
Tree  s1 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitHSlider ( Tree  sig,
Tree  label,
Tree  cur,
Tree  min,
Tree  max,
Tree  step 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitInput ( Tree  sig,
int  i 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitInt ( Tree  sig,
int  i 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitIntCast ( Tree  sig,
Tree  s 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitList ( Tree  lsig  )  [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitNumEntry ( Tree  sig,
Tree  label,
Tree  cur,
Tree  min,
Tree  max,
Tree  step 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitOutput ( Tree  sig,
int  i,
Tree  s 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitPrefix ( Tree  sig,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitProj ( Tree  sig,
int  i,
Tree  s1 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitRDTbl ( Tree  sig,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitReal ( Tree  sig,
float  r 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitRec ( Tree  sig,
Tree  var,
Tree  body 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitRef ( Tree  sig,
Tree  var 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitSelect2 ( Tree  sig,
Tree  sel,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitSelect3 ( Tree  sig,
Tree  sel,
Tree  s1,
Tree  s2,
Tree  s3 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitTable ( Tree  sig,
Tree  id,
Tree  s1,
Tree  s2 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitTuple ( Tree  sig,
int  mod,
Tree  ls 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitTupleAccess ( Tree  sig,
Tree  ts,
Tree  idx 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitVBargraph ( Tree  sig,
Tree  label,
Tree  min,
Tree  max,
Tree  s1 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitVSlider ( Tree  sig,
Tree  label,
Tree  cur,
Tree  min,
Tree  max,
Tree  step 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:

virtual void sigvisitor::visitWRTbl ( Tree  sig,
Tree  id,
Tree  s1,
Tree  s2,
Tree  s3 
) [pure virtual]

Implemented in fullvisitor.

Referenced by visit().

Here is the caller graph for this function:


The documentation for this struct was generated from the following files:
Generated on Thu Jul 15 15:47:36 2010 for FAUST compiler by  doxygen 1.6.3