MicroModelicaCCompiler  4.5.3
imports.hpp
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  This file is part of QSS Solver.
4 
5  QSS Solver is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  QSS Solver is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QSS Solver. If not, see <http://www.gnu.org/licenses/>.
17 
18  ******************************************************************************/
19 
20 #ifndef IMPORTS_H_
21 #define IMPORTS_H_
22 
23 #include "../util/ast_util.hpp"
24 #include "ast_types.hpp"
25 
29 class AST_Imports : public AST_Visitor {
30  public:
34  AST_Imports();
38  ~AST_Imports();
43  void visit(AST_Class x);
48  void leave(AST_Class x);
53  void visit(AST_Composition x);
58  void leave(AST_Composition x);
63  void visit(AST_CompositionElement x);
68  void leave(AST_CompositionElement x);
73  void visit(AST_CompositionEqsAlgs x);
78  void leave(AST_CompositionEqsAlgs x);
83  void visit(AST_External_Function_Call);
88  void visit(AST_Element x);
93  void visit(AST_Modification x);
98  void leave(AST_Modification x);
103  void visit(AST_Comment x);
108  void visit(AST_Equation x);
113  void visit(AST_ForIndex x);
118  void visit(AST_Equation_Else x);
123  void visit(AST_Expression x);
128  void visit(AST_Argument x);
133  void visit(AST_Statement x);
138  void leave(AST_Statement x);
143  void visit(AST_Statement_Else x);
148  void visit(AST_StoredDefinition x);
153  void leave(AST_StoredDefinition x);
159  int apply(AST_Node x);
164  AST_StringList imports();
165 
166  private:
167  AST_StringList _imports;
168 };
169 
170 #endif /* IMPORTS_H_ */
AST_Imports::~AST_Imports
~AST_Imports()
Definition: imports.cpp:11
AST_Imports::AST_Imports
AST_Imports()
Definition: imports.cpp:9
AST_Imports::apply
int apply(AST_Node x)
Definition: imports.cpp:69
AST_Imports::leave
void leave(AST_Class x)
Definition: imports.cpp:15
AST_Imports::_imports
AST_StringList _imports
Definition: imports.hpp:184
AST_Imports
Definition: imports.hpp:29
AST_Imports::visit
void visit(AST_Class x)
Definition: imports.cpp:13
ast_types.hpp
AST_Visitor
Definition: ast_util.hpp:224
AST_Imports::imports
AST_StringList imports()
Definition: imports.cpp:75