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
TokenWithIndex.hpp
Go to the documentation of this file.
1
#ifndef INC_TokenWithIndex_hpp__
2
#define INC_TokenWithIndex_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:$
9
*/
10
11
#include <
antlr/config.hpp
>
12
#include <
antlr/CommonToken.hpp
>
13
#include <
antlr/String.hpp
>
14
15
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
16
namespace
antlr {
17
#endif
18
19
class
ANTLR_API
TokenWithIndex
:
public
ANTLR_USE_NAMESPACE
(antlr)
CommonToken
{
20
public
:
21
// static size_t count;
22
TokenWithIndex
() :
CommonToken
(), index(0)
23
{
24
// std::cout << __PRETTY_FUNCTION__ << std::endl;
25
// count++;
26
}
27
TokenWithIndex
(
int
t,
const
ANTLR_USE_NAMESPACE
(std)
string
& txt)
28
:
CommonToken
(t,txt)
29
, index(0)
30
{
31
// std::cout << __PRETTY_FUNCTION__ << std::endl;
32
// count++;
33
}
34
TokenWithIndex
(
const
ANTLR_USE_NAMESPACE
(std)
string
& s)
35
:
CommonToken
(s)
36
, index(0)
37
{
38
// std::cout << __PRETTY_FUNCTION__ << std::endl;
39
// count++;
40
}
41
~
TokenWithIndex
()
42
{
43
// count--;
44
}
45
void
setIndex(
size_t
idx )
46
{
47
index = idx;
48
}
49
size_t
getIndex(
void
)
const
50
{
51
return
index;
52
}
53
54
ANTLR_USE_NAMESPACE
(std)string toString()
const
55
{
56
return
ANTLR_USE_NAMESPACE
(std)string(
"["
)+
57
index+
58
":\""
+
59
getText()+
"\",<"
+
60
getType()+
">,line="
+
61
getLine()+
",column="
+
62
getColumn()+
"]"
;
63
}
64
65
static
RefToken
factory()
66
{
67
return
RefToken
(
new
TokenWithIndex
());
68
}
69
70
protected
:
71
size_t
index
;
72
73
private
:
74
TokenWithIndex
(
const
TokenWithIndex
&);
75
const
TokenWithIndex
& operator=(
const
TokenWithIndex
&);
76
};
77
78
typedef
TokenRefCount<TokenWithIndex>
RefTokenWithIndex
;
79
80
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
81
}
82
#endif
83
84
#endif //INC_CommonToken_hpp__
Generated by
1.8.1.1