LexerSharedInputState.cpp
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
源码类别:
编译器/解释器
开发平台:
Others
- #include "antlr/LexerSharedInputState.hpp"
- #include "antlr/CharBuffer.hpp"
- ANTLR_BEGIN_NAMESPACE(antlr)
- /** This object contains the data associated with an
- * input stream of characters. Multiple lexers
- * share a single LexerSharedInputState to lex
- * the same input stream.
- */
- LexerInputState::LexerInputState(InputBuffer* inbuf)
- : line(1)
- , guessing(0)
- , input(inbuf)
- , inputResponsible(true)
- {
- }
- LexerInputState::LexerInputState(InputBuffer& inbuf)
- : line(1)
- , guessing(0)
- , input(&inbuf)
- , inputResponsible(false)
- {
- }
- LexerInputState::LexerInputState(ANTLR_USE_NAMESPACE(std)istream& in)
- : line(1)
- , guessing(0)
- , input(new CharBuffer(in))
- , inputResponsible(true)
- {
- }
- LexerInputState::~LexerInputState()
- {
- if (inputResponsible)
- delete input;
- }
- InputBuffer& LexerInputState::getInput()
- {
- return *input;
- }
- ANTLR_END_NAMESPACE