GPL + CeCILL Header change
[scilab.git] / scilab / modules / ast / includes / ast / stepvisitor.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  * === LICENSE_END ===
14  *
15  */
16
17 #ifndef __AST_STEPVISITOR_HXX__
18 #define __AST_STEPVISITOR_HXX__
19
20 #include <iostream>
21
22 #include "runvisitor.hxx"
23 #include "printvisitor.hxx"
24
25 namespace ast
26 {
27 class EXTERN_AST StepVisitor : public RunVisitorT<StepVisitor>
28 {
29     StepVisitor* clone()
30     {
31         return new StepVisitor();
32     }
33
34     void visit(const SeqExp &e)
35     {
36         for (exps_t::const_iterator it = e.getExps().begin (), itEnd = e.getExps().end(); it != itEnd; ++it)
37         {
38             PrintVisitor *pv = new PrintVisitor(std::wcerr);
39             (*it)->accept(*pv);
40             std::wcerr << std::endl;
41         }
42         visitprivate(e);
43     }
44
45     void visit (const MatrixExp &e)
46     {
47         visitprivate(e);
48     }
49
50     void visit (const MatrixLineExp &e)
51     {
52         visitprivate(e);
53     }
54
55     void visit (const CellExp &e)
56     {
57         visitprivate(e);
58     }
59
60     void visit (const StringExp &e)
61     {
62         visitprivate(e);
63     }
64
65     void visit (const CommentExp &e)
66     {
67         visitprivate(e);
68     }
69
70     void visit (const DoubleExp &e)
71     {
72         visitprivate(e);
73     }
74
75     void visit (const BoolExp &e)
76     {
77         visitprivate(e);
78     }
79
80     void visit (const NilExp &e)
81     {
82         visitprivate(e);
83     }
84
85     void visit (const SimpleVar &e)
86     {
87         visitprivate(e);
88     }
89
90     void visit (const ColonVar &e)
91     {
92         visitprivate(e);
93     }
94
95     void visit (const DollarVar &e)
96     {
97         visitprivate(e);
98     }
99
100     void visit (const ArrayListVar &e)
101     {
102         visitprivate(e);
103     }
104
105     void visit (const FieldExp &e)
106     {
107         visitprivate(e);
108     }
109
110     void visit (const OpExp &e)
111     {
112         visitprivate(e);
113     }
114
115     void visit (const LogicalOpExp &e)
116     {
117         visitprivate(e);
118     }
119
120     void visit (const AssignExp &e)
121     {
122         visitprivate(e);
123     }
124
125     void visit (const CellCallExp &e)
126     {
127         visitprivate(e);
128     }
129
130     void visit (const CallExp &e)
131     {
132         visitprivate(e);
133     }
134
135     void visit (const IfExp &e)
136     {
137         visitprivate(e);
138     }
139
140     void visit (const TryCatchExp &e)
141     {
142         visitprivate(e);
143     }
144
145     void visit (const WhileExp &e)
146     {
147         visitprivate(e);
148     }
149
150     void visit (const ForExp &e)
151     {
152         visitprivate(e);
153     }
154
155     void visit (const BreakExp &e)
156     {
157         visitprivate(e);
158     }
159
160     void visit (const ContinueExp &e)
161     {
162         visitprivate(e);
163     }
164
165     void visit (const ReturnExp &e)
166     {
167         visitprivate(e);
168     }
169
170     void visit (const SelectExp &e)
171     {
172         visitprivate(e);
173     }
174
175     void visit (const CaseExp &e)
176     {
177         visitprivate(e);
178     }
179
180     void visit (const ArrayListExp &e)
181     {
182         visitprivate(e);
183     }
184
185     void visit (const AssignListExp &e)
186     {
187         visitprivate(e);
188     }
189
190     void visit (const NotExp &e)
191     {
192         visitprivate(e);
193     }
194
195     void visit (const TransposeExp &e)
196     {
197         visitprivate(e);
198     }
199
200     void visit (const VarDec &e)
201     {
202         visitprivate(e);
203     }
204
205     void visit (const FunctionDec &e)
206     {
207         visitprivate(e);
208     }
209
210     void visit(const ListExp &e)
211     {
212         visitprivate(e);
213     }
214
215     /* optimized */
216     void visit(const OptimizedExp &e)
217     {
218         visitprivate(e);
219     }
220
221     void visit(const MemfillExp &e)
222     {
223         visitprivate(e);
224     }
225
226     void visit(const DAXPYExp &e)
227     {
228         visitprivate(e);
229     }
230
231     void visit(const IntSelectExp &e)
232     {
233         visitprivate(e);
234     }
235
236     void visit(const StringSelectExp &e)
237     {
238         visitprivate(e);
239     }
240 };
241 }
242
243 #endif /* !__AST_STEPVISITOR_HXX__ */