* Bug 15599 fixed: now degree of zero polynomial is -Inf
[scilab.git] / scilab / modules / ast / includes / ast / stepvisitor.hxx
index 3127e59..26281f5 100644 (file)
@@ -2,11 +2,14 @@
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
  *
- *  This file must be used under the terms of the CeCILL.
- *  This source file is licensed as described in the file COPYING, which
- *  you should have received as part of this distribution.  The terms
- *  are also available at
- *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ * Copyright (C) 2012 - 2016 - Scilab Enterprises
+ *
+ * This file is hereby licensed under the terms of the GNU GPL v2.0,
+ * pursuant to article 5.3.4 of the CeCILL v.2.1.
+ * This file was originally licensed under the terms of the CeCILL v2.1,
+ * and continues to be available under such terms.
+ * For more information, see the COPYING file which you should have received
+ * along with this program.
  *
  */
 
 #include <iostream>
 
 #include "runvisitor.hxx"
-#include "execvisitor.hxx"
 #include "printvisitor.hxx"
 
 namespace ast
 {
 class EXTERN_AST StepVisitor : public RunVisitorT<StepVisitor>
 {
+    StepVisitor* clone()
+    {
+        return new StepVisitor();
+    }
+
     void visit(const SeqExp &e)
     {
-        std::list<Exp*>::const_iterator it;
-        for (it = e.getExps().begin() ; it != e.getExps().end() ; ++it)
+        for (exps_t::const_iterator it = e.getExps().begin (), itEnd = e.getExps().end(); it != itEnd; ++it)
         {
             PrintVisitor *pv = new PrintVisitor(std::wcerr);
             (*it)->accept(*pv);
             std::wcerr << std::endl;
-            //ExecVisitor *pe = new ast::ExecVisitor();
-            //(*it)->accept(*pe);
         }
         visitprivate(e);
     }
@@ -206,6 +210,32 @@ class EXTERN_AST StepVisitor : public RunVisitorT<StepVisitor>
     {
         visitprivate(e);
     }
+
+    /* optimized */
+    void visit(const OptimizedExp &e)
+    {
+        visitprivate(e);
+    }
+
+    void visit(const MemfillExp &e)
+    {
+        visitprivate(e);
+    }
+
+    void visit(const DAXPYExp &e)
+    {
+        visitprivate(e);
+    }
+
+    void visit(const IntSelectExp &e)
+    {
+        visitprivate(e);
+    }
+
+    void visit(const StringSelectExp &e)
+    {
+        visitprivate(e);
+    }
 };
 }