ANTLR Support Libraries 2.7.1+
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Friends
Macros
Pages
antlr
CommonAST.hpp
Go to the documentation of this file.
1
#ifndef INC_CommonAST_hpp__
2
#define INC_CommonAST_hpp__
3
4
/* ANTLR Translator Generator
5
* Project led by Terence Parr at http://www.jGuru.com
6
* Software rights: http://www.antlr.org/license.html
7
*
8
* $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/CommonAST.hpp#2 $
9
*/
10
11
#include <
antlr/config.hpp
>
12
#include <
antlr/BaseAST.hpp
>
13
14
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
15
namespace
antlr {
16
#endif
17
18
class
ANTLR_API
CommonAST
:
public
BaseAST
{
19
public
:
20
CommonAST
()
21
:
BaseAST
()
22
, ttype(
Token
::INVALID_TYPE )
23
, text()
24
{
25
}
26
27
CommonAST
(
RefToken
t )
28
:
BaseAST
()
29
, ttype( t->getType() )
30
, text( t->getText() )
31
{
32
}
33
34
CommonAST
(
const
CommonAST
& other )
35
:
BaseAST
(other)
36
, ttype(other.ttype)
37
, text(other.text)
38
{
39
}
40
41
virtual
~
CommonAST
()
42
{
43
}
44
45
virtual
const
char
* typeName(
void
)
const
46
{
47
return
CommonAST::TYPE_NAME
;
48
}
49
51
virtual
RefAST
clone(
void
)
const
52
{
53
CommonAST
*ast =
new
CommonAST
( *
this
);
54
return
RefAST
(ast);
55
}
56
57
virtual
ANTLR_USE_NAMESPACE
(std)string getText()
const
58
{
59
return
text;
60
}
61
virtual
int
getType()
const
62
{
63
return
ttype;
64
}
65
66
virtual
void
initialize(
int
t,
const
ANTLR_USE_NAMESPACE
(std)
string
& txt )
67
{
68
setType(t);
69
setText(txt);
70
}
71
72
virtual
void
initialize(
RefAST
t )
73
{
74
setType(t->
getType
());
75
setText(t->
getText
());
76
}
77
virtual
void
initialize(
RefToken
t )
78
{
79
setType(t->
getType
());
80
setText(t->
getText
());
81
}
82
83
#ifdef ANTLR_SUPPORT_XML
84
virtual
void
initialize(
ANTLR_USE_NAMESPACE
(std)istream& in );
85
#endif
86
87
virtual
void
setText(
const
ANTLR_USE_NAMESPACE
(std)
string
& txt )
88
{
89
text = txt;
90
}
91
virtual
void
setType(
int
type )
92
{
93
ttype = type;
94
}
95
96
static
RefAST
factory();
97
98
static
const
char
*
const
TYPE_NAME
;
99
protected
:
100
int
ttype
;
101
ANTLR_USE_NAMESPACE
(std)string text;
102
};
103
104
typedef
ASTRefCount
<
CommonAST
>
RefCommonAST
;
105
106
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
107
}
108
#endif
109
110
#endif //INC_CommonAST_hpp__
Generated by
1.8.3.1