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
ParserSharedInputState.hpp
Go to the documentation of this file.
1
#ifndef INC_ParserSharedInputState_hpp__
2
#define INC_ParserSharedInputState_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/ParserSharedInputState.hpp#2 $
9
*/
10
11
#include <
antlr/config.hpp
>
12
#include <
antlr/TokenBuffer.hpp
>
13
#include <
antlr/RefCount.hpp
>
14
#include <string>
15
16
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
17
namespace
antlr {
18
#endif
19
25
class
ANTLR_API
ParserInputState
{
26
public
:
31
ParserInputState
(
TokenBuffer
* in )
32
: guessing(0)
33
, filename()
34
, input(in)
35
, inputResponsible(true)
36
{
37
}
41
ParserInputState
(
TokenBuffer
& in )
42
: guessing(0)
43
, filename(
""
)
44
, input(&in)
45
, inputResponsible(false)
46
{
47
}
48
49
virtual
~
ParserInputState
()
50
{
51
if
(inputResponsible)
52
delete
input;
53
}
54
55
TokenBuffer
& getInput(
void
)
56
{
57
return
*input;
58
}
59
61
void
reset(
void
)
62
{
63
input->
reset
();
64
guessing = 0;
65
}
66
67
public
:
69
int
guessing
;
73
ANTLR_USE_NAMESPACE
(std)string filename;
74
private:
76
TokenBuffer
* input;
78
bool
inputResponsible;
79
80
// we don't want these:
81
ParserInputState
(const
ParserInputState
&);
82
ParserInputState& operator=(const ParserInputState&);
83
};
84
86
typedef
RefCount
<ParserInputState>
ParserSharedInputState
;
87
88
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
89
}
90
#endif
91
92
#endif //INC_ParserSharedInputState_hpp__
Generated by
1.8.3.1