New directory tree, with preprocessor/ inside interpretor/.
[Faustine.git] / interpretor / faust-0.9.47mr3 / compiler / headers / compile_scal.hh
diff --git a/interpretor/faust-0.9.47mr3/compiler/headers/compile_scal.hh b/interpretor/faust-0.9.47mr3/compiler/headers/compile_scal.hh
deleted file mode 100644 (file)
index 8ca2361..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-/************************************************************************
- ************************************************************************
-    FAUST compiler
-       Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale
-    ---------------------------------------------------------------------
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- ************************************************************************
- ************************************************************************/
-
-
-
-#ifndef _COMPILE_SCAL_
-#define _COMPILE_SCAL_
-
-#include <utility>
-#include "compile.hh"
-#include "sigtyperules.hh"
-#include "sigraterules.hh"
-#include "occurences.hh"
-#include "property.hh"
-
-////////////////////////////////////////////////////////////////////////
-/**
- * Compile a list of FAUST signals into a scalar C++ class
- */
-///////////////////////////////////////////////////////////////////////
-
-class ScalarCompiler : public Compiler
-{
-  protected:
-    property<string>            fCompileProperty;
-    property<string>            fVectorProperty;
-    property<pair<string,string> >  fStaticInitProperty;        // property added to solve 20101208 kjetil bug
-    property<pair<string,string> >  fInstanceInitProperty;      // property added to solve 20101208 kjetil bug
-
-       static map<string, int>         fIDCounters;
-       Tree                            fSharingKey;
-       OccMarkup                                       fOccMarkup;
-    bool                                               fHasIota;
-
-    RateInferrer*               fRates;
-
-  public:
-
-       ScalarCompiler ( const string& name, const string& super, int numInputs, int numOutputs) :
-               Compiler(name,super,numInputs,numOutputs,false),
-        fHasIota(false),
-        fRates(0)
-       {}
-       
-       ScalarCompiler ( Klass* k) : 
-               Compiler(k),
-        fHasIota(false)
-       {}
-       
-       virtual void            compileMultiSignal  (Tree lsig);
-       virtual void            compileSingleSignal (Tree lsig);
-
-
-  protected:
-
-    virtual string      CS (Tree sig);
-    virtual string      generateCode (Tree sig);
-    virtual string      generateCacheCode(Tree sig, const string& exp) ;
-
-    virtual string      generateVariableStore(Tree sig, const string& exp);
-
-       string          getFreshID (const string& prefix);
-
-       void            compilePreparedSignalList (Tree lsig);
-       Tree            prepare(Tree L0);
-       Tree            prepare2 (Tree L0);
-       
-       
-       bool            getCompiledExpression(Tree sig, string& name);
-       string          setCompiledExpression(Tree sig, const string& name);
-
-       void            setVectorNameProperty(Tree sig, const string& vecname);
-       bool            getVectorNameProperty(Tree sig, string& vecname);
-
-       int             getSharingCount(Tree t);
-       void            setSharingCount(Tree t, int count);
-       void            sharingAnalysis(Tree t);
-       void            sharingAnnotation(int vctxt, Tree t);
-       
-       
-       // generation du code
-       
-       string          generateXtended         (Tree sig);
-       virtual string          generateFixDelay        (Tree sig, Tree arg, Tree size);
-       string          generatePrefix          (Tree sig, Tree x, Tree e);
-       string          generateIota            (Tree sig, Tree arg);
-       string          generateBinOp           (Tree sig, int opcode, Tree arg1, Tree arg2);
-       
-       string          generateFFun            (Tree sig, Tree ff, Tree largs);
-       
-       string          generateInput           (Tree sig, const string& idx);
-       string          generateOutput          (Tree sig, const string& idx, const string& arg1);
-       
-       string          generateTable           (Tree sig, Tree tsize, Tree content);
-       string          generateStaticTable     (Tree sig, Tree tsize, Tree content);
-       string          generateWRTbl           (Tree sig, Tree tbl, Tree idx, Tree data);
-       string          generateRDTbl           (Tree sig, Tree tbl, Tree idx);
-       string          generateSigGen          (Tree sig, Tree content);
-       string          generateStaticSigGen(Tree sig, Tree content);
-       
-       string          generateSelect2         (Tree sig, Tree sel, Tree s1, Tree s2);
-       string          generateSelect3         (Tree sig, Tree sel, Tree s1, Tree s2, Tree s3);
-       
-       string          generateRecProj         (Tree sig, Tree exp, int i);
-    void        generateRec         (Tree sig, Tree var, Tree le);
-       
-       string          generateIntCast         (Tree sig, Tree x);
-       string          generateFloatCast       (Tree sig, Tree x);
-       
-       string          generateButton          (Tree sig, Tree label);
-       string          generateCheckbox        (Tree sig, Tree label);
-       string          generateVSlider         (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step);
-       string          generateHSlider         (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step);
-       string          generateNumEntry        (Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step);
-       
-       string          generateVBargraph       (Tree sig, Tree label, Tree min, Tree max, const string& exp);
-       string          generateHBargraph       (Tree sig, Tree label, Tree min, Tree max, const string& exp);
-
-       string          generateNumber(Tree sig, const string& exp);
-    string      generateFConst (Tree sig, const string& file, const string& name);
-    string      generateFVar (Tree sig, const string& file, const string& name);
-       
-       virtual string          generateDelayVec(Tree sig, const string& exp, const string& ctype, const string& vname, int mxd);
-       string          generateDelayVecNoTemp(Tree sig, const string& exp, const string& ctype, const string& vname, int mxd);
-       //string                generateDelayVecWithTemp(Tree sig, const string& exp, const string& ctype, const string& vname, int mxd);
-    virtual void        generateDelayLine(const string& ctype, const string& vname, int mxd, const string& exp);
-
-    // up et down sampling
-    virtual string             generateUpSample        (Tree sig, Tree arg, Tree size);
-    virtual string             generateDownSample      (Tree sig, Tree arg, Tree size);
-
-
-
-       void            getTypedNames(Type t, const string& prefix, string& ctype, string& vname);
-       void            ensureIotaCode();
-    int         pow2limit(int x);
-
-
-
-};
-
-#endif