ParserSharedInputState.hpp
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

Others

  1. #ifndef INC_ParserSharedInputState_hpp__
  2. #define INC_ParserSharedInputState_hpp__
  3. #include "antlr/config.hpp"
  4. #include "antlr/TokenBuffer.hpp"
  5. #include "antlr/RefCount.hpp"
  6. #include <string>
  7. ANTLR_BEGIN_NAMESPACE(antlr)
  8. /** This object contains the data associated with an
  9.  *  input stream of tokens.  Multiple parsers
  10.  *  share a single ParserSharedInputState to parse
  11.  *  the same stream of tokens.
  12.  */
  13. class ParserInputState {
  14. public:
  15. ParserInputState(TokenBuffer* input_);
  16. ParserInputState(TokenBuffer& input_);
  17. ~ParserInputState();
  18. public:
  19. /** Are we guessing (guessing>0)? */
  20. int guessing; //= 0;
  21. /** What file (if known) caused the problem? */
  22. ANTLR_USE_NAMESPACE(std)string filename;
  23. TokenBuffer& getInput();
  24. private:
  25. /** Where to get token objects */
  26. TokenBuffer* input;
  27. bool inputResponsible;
  28. // we don't want these:
  29. ParserInputState(const ParserInputState&);
  30. ParserInputState& operator=(const ParserInputState&);
  31. };
  32. typedef RefCount<ParserInputState> ParserSharedInputState;
  33. ANTLR_END_NAMESPACE
  34. #endif //INC_ParserSharedInputState_hpp__