ANTLR Support Libraries 2.7.1+
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
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 
26 public:
32  : guessing(0)
33  , filename()
34  , input(in)
35  , inputResponsible(true)
36  {
37  }
42  : guessing(0)
43  , filename("")
44  , input(&in)
45  , inputResponsible(false)
46  {
47  }
48 
50  {
51  if (inputResponsible)
52  delete input;
53  }
54 
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:
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__
int guessing
Definition: ParserSharedInputState.hpp:69
virtual ~ParserInputState()
Definition: ParserSharedInputState.hpp:49
Definition: ParserSharedInputState.hpp:25
#define ANTLR_API
Definition: config.hpp:22
void reset(void)
Reset the ParserInputState and the underlying TokenBuffer.
Definition: ParserSharedInputState.hpp:61
Definition: TokenBuffer.hpp:36
ParserInputState(TokenBuffer *in)
Definition: ParserSharedInputState.hpp:31
ParserInputState(TokenBuffer &in)
Definition: ParserSharedInputState.hpp:41
Definition: RefCount.hpp:17
#define ANTLR_USE_NAMESPACE(_x_)
Definition: config.hpp:18
TokenBuffer & getInput(void)
Definition: ParserSharedInputState.hpp:55