FAUST compiler  0.9.9.6b8
Public Member Functions
sigvisitor Struct Reference

#include <sigvisitor.hh>

Inheritance diagram for sigvisitor:
Inheritance graph
[legend]

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, 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

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.

{}

Member Function Documentation

void sigvisitor::visit ( Tree  sig)

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

Parameters:
sigthe signal to aanlyze
envthe 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(), 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);
}

Here is the call graph for this function:

Here is the caller graph for this function:

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.

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

Implemented in fullvisitor.


The documentation for this struct was generated from the following files: