lib/antlr/antlr/ParserSharedInputState.hpp
Go to the documentation of this file.00001
#ifndef INC_ParserSharedInputState_hpp__
00002
#define INC_ParserSharedInputState_hpp__
00003
00004
00005
00006
00007
00008
00009
00010
00011
#include <antlr/config.hpp>
00012
#include <antlr/TokenBuffer.hpp>
00013
#include <antlr/RefCount.hpp>
00014
#include <string>
00015
00016
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
00017
namespace antlr {
00018
#endif
00019
00025 class ANTLR_API ParserInputState {
00026
public:
00031 ParserInputState(
TokenBuffer* in )
00032 : guessing(0)
00033 , filename()
00034 , input(in)
00035 , inputResponsible(true)
00036 {
00037 }
00041 ParserInputState(
TokenBuffer& in )
00042 : guessing(0)
00043 , filename("")
00044 , input(&in)
00045 , inputResponsible(false)
00046 {
00047 }
00048
00049 ~ParserInputState()
00050 {
00051
if (inputResponsible)
00052
delete input;
00053 }
00054
00055 TokenBuffer& getInput(
void )
00056 {
00057
return *input;
00058 }
00059
00061 void reset(
void )
00062 {
00063 input->reset();
00064 guessing = 0;
00065 }
00066
00067
public:
00069 int guessing;
00073 ANTLR_USE_NAMESPACE(std)string filename;
00074 private:
00076 TokenBuffer* input;
00078 bool inputResponsible;
00079
00080
00081 ParserInputState(const ParserInputState&);
00082 ParserInputState& operator=(const ParserInputState&);
00083 };
00084
00086 typedef
RefCount<ParserInputState>
ParserSharedInputState;
00087
00088 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
00089 }
00090 #endif
00091
00092 #endif
This file is part of the documentation for KDevelop Version 3.0.4.