MicroModelicaCCompiler
4.5.3
ast_node.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
#pragma once
21
22
#include "../util/macros.hpp"
23
#include "../util/util_types.hpp"
24
25
class
AST_Visitor
;
26
27
using namespace
std;
28
29
class
AST_Node_
{
30
public
:
31
AST_Node_
();
32
virtual
~AST_Node_
() {};
33
DEFINE_CLASS_PRINTER
(AST_Node);
34
DEFINE_ORDER_REL
(AST_Node);
35
void
setLineNum(
int
linenum);
36
int
lineNum()
const
;
37
virtual
void
accept(
AST_Visitor
*visitor) = 0;
38
39
private
:
40
int
_linenum
;
41
};
DEFINE_ORDER_REL
#define DEFINE_ORDER_REL(X)
Definition:
macros.hpp:55
AST_Node_
Definition:
ast_node.hpp:29
DEFINE_CLASS_PRINTER
#define DEFINE_CLASS_PRINTER(X)
Definition:
macros.hpp:39
AST_Visitor
Definition:
ast_util.hpp:224
AST_Node_::~AST_Node_
virtual ~AST_Node_()
Definition:
ast_node.hpp:32
AST_Node_::_linenum
int _linenum
Definition:
ast_node.hpp:40
ast
ast_node.hpp
Generated on Fri Feb 21 2025 11:43:43 for MicroModelicaCCompiler by
1.8.17