- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
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