AST : uniformize accessors name to setXXX and getXXX, add getAs<T> in ast::exp and...
[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  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #ifndef __AST_STEPVISITOR_HXX__
14 #define __AST_STEPVISITOR_HXX__
15
16 #include <iostream>
17
18 #include "runvisitor.hxx"
19 #include "execvisitor.hxx"
20 #include "printvisitor.hxx"
21
22 namespace ast
23 {
24 class EXTERN_AST StepVisitor : public RunVisitorT<StepVisitor>
25 {
26     void visit(const SeqExp &e)
27     {
28         std::list<Exp*>::const_iterator it;
29         for (it = e.getExps().begin() ; it != e.getExps().end() ; ++it)
30         {
31             PrintVisitor *pv = new PrintVisitor(std::wcerr);
32             (*it)->accept(*pv);
33             std::wcerr << std::endl;
34             //ExecVisitor *pe = new ast::ExecVisitor();
35             //(*it)->accept(*pe);
36         }
37         visitprivate(e);
38     }
39
40     void visit (const MatrixExp &e)
41     {
42         visitprivate(e);
43     }
44
45     void visit (const MatrixLineExp &e)
46     {
47         visitprivate(e);
48     }
49
50     void visit (const CellExp &e)
51     {
52         visitprivate(e);
53     }
54
55     void visit (const StringExp &e)
56     {
57         visitprivate(e);
58     }
59
60     void visit (const CommentExp &e)
61     {
62         visitprivate(e);
63     }
64
65     void visit (const DoubleExp &e)
66     {
67         visitprivate(e);
68     }
69
70     void visit (const BoolExp &e)
71     {
72         visitprivate(e);
73     }
74
75     void visit (const NilExp &e)
76     {
77         visitprivate(e);
78     }
79
80     void visit (const SimpleVar &e)
81     {
82         visitprivate(e);
83     }
84
85     void visit (const ColonVar &e)
86     {
87         visitprivate(e);
88     }
89
90     void visit (const DollarVar &e)
91     {
92         visitprivate(e);
93     }
94
95     void visit (const ArrayListVar &e)
96     {
97         visitprivate(e);
98     }
99
100     void visit (const FieldExp &e)
101     {
102         visitprivate(e);
103     }
104
105     void visit (const OpExp &e)
106     {
107         visitprivate(e);
108     }
109
110     void visit (const LogicalOpExp &e)
111     {
112         visitprivate(e);
113     }
114
115     void visit (const AssignExp &e)
116     {
117         visitprivate(e);
118     }
119
120     void visit (const CellCallExp &e)
121     {
122         visitprivate(e);
123     }
124
125     void visit (const CallExp &e)
126     {
127         visitprivate(e);
128     }
129
130     void visit (const IfExp &e)
131     {
132         visitprivate(e);
133     }
134
135     void visit (const TryCatchExp &e)
136     {
137         visitprivate(e);
138     }
139
140     void visit (const WhileExp &e)
141     {
142         visitprivate(e);
143     }
144
145     void visit (const ForExp &e)
146     {
147         visitprivate(e);
148     }
149
150     void visit (const BreakExp &e)
151     {
152         visitprivate(e);
153     }
154
155     void visit (const ContinueExp &e)
156     {
157         visitprivate(e);
158     }
159
160     void visit (const ReturnExp &e)
161     {
162         visitprivate(e);
163     }
164
165     void visit (const SelectExp &e)
166     {
167         visitprivate(e);
168     }
169
170     void visit (const CaseExp &e)
171     {
172         visitprivate(e);
173     }
174
175     void visit (const ArrayListExp &e)
176     {
177         visitprivate(e);
178     }
179
180     void visit (const AssignListExp &e)
181     {
182         visitprivate(e);
183     }
184
185     void visit (const NotExp &e)
186     {
187         visitprivate(e);
188     }
189
190     void visit (const TransposeExp &e)
191     {
192         visitprivate(e);
193     }
194
195     void visit (const VarDec &e)
196     {
197         visitprivate(e);
198     }
199
200     void visit (const FunctionDec &e)
201     {
202         visitprivate(e);
203     }
204
205     void visit(const ListExp &e)
206     {
207         visitprivate(e);
208     }
209 };
210 }
211
212 #endif /* !__AST_STEPVISITOR_HXX__ */