AST : Exp's children are store in a vector
[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         for (exps_t::const_iterator it = e.getExps().begin (), itEnd = e.getExps().end(); it != itEnd; ++it)
29         {
30             PrintVisitor *pv = new PrintVisitor(std::wcerr);
31             (*it)->accept(*pv);
32             std::wcerr << std::endl;
33         }
34         visitprivate(e);
35     }
36
37     void visit (const MatrixExp &e)
38     {
39         visitprivate(e);
40     }
41
42     void visit (const MatrixLineExp &e)
43     {
44         visitprivate(e);
45     }
46
47     void visit (const CellExp &e)
48     {
49         visitprivate(e);
50     }
51
52     void visit (const StringExp &e)
53     {
54         visitprivate(e);
55     }
56
57     void visit (const CommentExp &e)
58     {
59         visitprivate(e);
60     }
61
62     void visit (const DoubleExp &e)
63     {
64         visitprivate(e);
65     }
66
67     void visit (const BoolExp &e)
68     {
69         visitprivate(e);
70     }
71
72     void visit (const NilExp &e)
73     {
74         visitprivate(e);
75     }
76
77     void visit (const SimpleVar &e)
78     {
79         visitprivate(e);
80     }
81
82     void visit (const ColonVar &e)
83     {
84         visitprivate(e);
85     }
86
87     void visit (const DollarVar &e)
88     {
89         visitprivate(e);
90     }
91
92     void visit (const ArrayListVar &e)
93     {
94         visitprivate(e);
95     }
96
97     void visit (const FieldExp &e)
98     {
99         visitprivate(e);
100     }
101
102     void visit (const OpExp &e)
103     {
104         visitprivate(e);
105     }
106
107     void visit (const LogicalOpExp &e)
108     {
109         visitprivate(e);
110     }
111
112     void visit (const AssignExp &e)
113     {
114         visitprivate(e);
115     }
116
117     void visit (const CellCallExp &e)
118     {
119         visitprivate(e);
120     }
121
122     void visit (const CallExp &e)
123     {
124         visitprivate(e);
125     }
126
127     void visit (const IfExp &e)
128     {
129         visitprivate(e);
130     }
131
132     void visit (const TryCatchExp &e)
133     {
134         visitprivate(e);
135     }
136
137     void visit (const WhileExp &e)
138     {
139         visitprivate(e);
140     }
141
142     void visit (const ForExp &e)
143     {
144         visitprivate(e);
145     }
146
147     void visit (const BreakExp &e)
148     {
149         visitprivate(e);
150     }
151
152     void visit (const ContinueExp &e)
153     {
154         visitprivate(e);
155     }
156
157     void visit (const ReturnExp &e)
158     {
159         visitprivate(e);
160     }
161
162     void visit (const SelectExp &e)
163     {
164         visitprivate(e);
165     }
166
167     void visit (const CaseExp &e)
168     {
169         visitprivate(e);
170     }
171
172     void visit (const ArrayListExp &e)
173     {
174         visitprivate(e);
175     }
176
177     void visit (const AssignListExp &e)
178     {
179         visitprivate(e);
180     }
181
182     void visit (const NotExp &e)
183     {
184         visitprivate(e);
185     }
186
187     void visit (const TransposeExp &e)
188     {
189         visitprivate(e);
190     }
191
192     void visit (const VarDec &e)
193     {
194         visitprivate(e);
195     }
196
197     void visit (const FunctionDec &e)
198     {
199         visitprivate(e);
200     }
201
202     void visit(const ListExp &e)
203     {
204         visitprivate(e);
205     }
206 };
207 }
208
209 #endif /* !__AST_STEPVISITOR_HXX__ */