帆软使用的第三方框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

80 lines
1.7 KiB

package com.fr.third.antlr;
/* ANTLR Translator Generator
* Project led by Terence Parr at http://www.jGuru.com
* Software rights: http://www.antlr.org/license.html
*
* $Id: //depot/code/org.antlr/release/antlr-2.7.7/antlr/LexerSharedInputState.java#2 $
*/
import java.io.Reader;
import java.io.InputStream;
/** This object contains the data associated with an
* input stream of characters. Multiple lexers
* share a single LexerSharedInputState to lex
* the same input stream.
*/
public class LexerSharedInputState {
protected int column = 1;
protected int line = 1;
protected int tokenStartColumn = 1;
protected int tokenStartLine = 1;
protected InputBuffer input;
/** What file (if known) caused the problem? */
protected String filename;
public int guessing = 0;
public LexerSharedInputState(InputBuffer inbuf) {
input = inbuf;
}
public LexerSharedInputState(InputStream in) {
this(new ByteBuffer(in));
}
public LexerSharedInputState(Reader in) {
this(new CharBuffer(in));
}
public String getFilename() {
return filename;
}
public InputBuffer getInput() {
return input;
}
public int getLine()
{
return line;
}
public int getTokenStartColumn()
{
return tokenStartColumn;
}
public int getTokenStartLine()
{
return tokenStartLine;
}
public int getColumn()
{
return column;
}
public void reset() {
column = 1;
line = 1;
tokenStartColumn = 1;
tokenStartLine = 1;
guessing = 0;
filename = null;
input.reset();
}
}