X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigvisitor.hh diff --git a/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigvisitor.hh b/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigvisitor.hh deleted file mode 100644 index f72c0c3..0000000 --- a/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigvisitor.hh +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef __SIGVISITOR__ -#define __SIGVISITOR__ - -#include "signals.hh" - -struct sigvisitor -{ - // predefined visit scheme - void visit(Tree sig); - - // Unrecognized signal (default handler) - virtual void visitError (Tree sig); - - virtual ~sigvisitor() {} - - //---------------abstract methods--------------- - // numbers - virtual void visitInt (Tree sig, int i) = 0; - virtual void visitReal (Tree sig, double r) = 0; - - // audio inputs-outputs - virtual void visitInput (Tree sig, int i) = 0; - virtual void visitOutput (Tree sig, int i, Tree s) = 0; - - // fixed size delays - 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; - - // numerical operations - 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; - - // user interface - 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; - - // recursive - 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; - - // Tables - 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; - - // Selectors - 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; - - // Tuples - virtual void visitTuple (Tree sig, int mod, Tree ls) = 0; - virtual void visitTupleAccess (Tree sig, Tree ts, Tree idx) = 0; - - // List of signals - virtual void visitList (Tree lsig) = 0; -}; - -struct fullvisitor : sigvisitor -{ - // numbers - virtual void visitInt (Tree sig, int i) {} - virtual void visitReal (Tree sig, double r) {} - - // audio inputs-outputs - virtual void visitInput (Tree sig, int i) {} - virtual void visitOutput (Tree sig, int i, Tree s) { visit(s);} - - // fixed size delays - virtual void visitDelay1 (Tree sig, Tree s) { visit(s);} - virtual void visitPrefix (Tree sig, Tree s1, Tree s2) { visit(s1); visit(s2); } - virtual void visitFixDelay (Tree sig, Tree s1, Tree s2) { visit(s1); visit(s2); } - - // numerical operations - virtual void visitIntCast (Tree sig, Tree s) { visit(s);} - virtual void visitFloatCast (Tree sig, Tree s) { visit(s);} - virtual void visitBinOp (Tree sig, int op, Tree s1, Tree s2) { visit(s1); visit(s2); } - virtual void visitFFun (Tree sig, Tree ff, Tree ls) { visit(ls); } - virtual void visitFConst (Tree sig, Tree type, Tree name, Tree file) {} - virtual void visitFVar (Tree sig, Tree type, Tree name, Tree file) {} - - // user interface - virtual void visitButton (Tree sig, Tree label) {} - virtual void visitCheckbox (Tree sig, Tree label) {} - virtual void visitVSlider (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step) {} - virtual void visitHSlider (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step) {} - virtual void visitNumEntry (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step) {} - virtual void visitVBargraph (Tree sig, Tree label, Tree min, Tree max, Tree s) { visit(s);} - virtual void visitHBargraph (Tree sig, Tree label, Tree min, Tree max, Tree s) { visit(s);} - virtual void visitAttach (Tree sig, Tree s1, Tree s2) { visit(s1); visit(s2); } - - // recursive - virtual void visitRec (Tree sig, Tree var, Tree body) { visit(body); } - virtual void visitRef (Tree sig, Tree var) { } - virtual void visitProj (Tree sig, int i, Tree s) { visit(s); } - - // Tables - virtual void visitTable (Tree sig, Tree id, Tree s1, Tree s2) { visit(s1); visit(s2); } - virtual void visitWRTbl (Tree sig, Tree id, Tree s1, Tree s2, Tree s3) { visit(s1); visit(s2); visit(s3); } - virtual void visitRDTbl (Tree sig, Tree s1, Tree s2) { visit(s1); visit(s2); } - virtual void visitGen (Tree sig, Tree s1) { visit(s1); } - - // Selectors - virtual void visitSelect2 (Tree sig, Tree sel, Tree s1, Tree s2) { visit(sel); visit(s1); visit(s2); } - virtual void visitSelect3 (Tree sig, Tree sel, Tree s1, Tree s2, Tree s3) { visit(sel); visit(s1); visit(s2); visit(s3); } - - // Tuples - virtual void visitTuple (Tree sig, int mod, Tree ls) { visit(ls); } - virtual void visitTupleAccess (Tree sig, Tree ts, Tree idx) { visit(ts); visit(idx); } - - // List of signals - virtual void visitList (Tree lsig) { while (!isNil(lsig)) { visit(hd(lsig)); lsig=tl(lsig); }} -}; - -#endif