rj.tools.jcsc
Class JavaCharStream

java.lang.Object
  extended byrj.tools.jcsc.JavaCharStream

public class JavaCharStream
extends java.lang.Object

An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (with java-like unicode escape processing).


Field Summary
protected  int[] bufcolumn
           
protected  char[] buffer
           
protected  int[] bufline
           
 int bufpos
           
protected  int column
           
protected  int inBuf
           
protected  java.io.Reader inputStream
           
protected  int line
           
protected  int maxNextCharInd
           
protected  char[] nextCharBuf
           
protected  int nextCharInd
           
protected  boolean prevCharIsCR
           
protected  boolean prevCharIsLF
           
static boolean staticFlag
           
 
Constructor Summary
JavaCharStream(java.io.InputStream dstream)
           
JavaCharStream(java.io.InputStream dstream, int startline, int startcolumn)
           
JavaCharStream(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
           
JavaCharStream(java.io.Reader dstream)
           
JavaCharStream(java.io.Reader dstream, int startline, int startcolumn)
           
JavaCharStream(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
           
 
Method Summary
 void adjustBeginLineColumn(int newLine, int newCol)
          Method to adjust line and column numbers for the start of a token.
protected  void AdjustBuffSize()
           
 void backup(int amount)
           
 char BeginToken()
           
 void Done()
           
protected  void ExpandBuff(boolean wrapAround)
           
protected  void FillBuff()
           
 int getBeginColumn()
           
 int getBeginLine()
           
 int getColumn()
          Deprecated.  
 int getEndColumn()
           
 int getEndLine()
           
 java.lang.String GetImage()
           
 int getLine()
          Deprecated.  
 char[] GetSuffix(int len)
           
protected  char ReadByte()
           
 char readChar()
           
 void ReInit(java.io.InputStream dstream)
           
 void ReInit(java.io.InputStream dstream, int startline, int startcolumn)
           
 void ReInit(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
           
 void ReInit(java.io.Reader dstream)
           
 void ReInit(java.io.Reader dstream, int startline, int startcolumn)
           
 void ReInit(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
           
protected  void UpdateLineColumn(char c)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

staticFlag

public static final boolean staticFlag
See Also:
Constant Field Values

bufpos

public int bufpos

bufline

protected int[] bufline

bufcolumn

protected int[] bufcolumn

column

protected int column

line

protected int line

prevCharIsCR

protected boolean prevCharIsCR

prevCharIsLF

protected boolean prevCharIsLF

inputStream

protected java.io.Reader inputStream

nextCharBuf

protected char[] nextCharBuf

buffer

protected char[] buffer

maxNextCharInd

protected int maxNextCharInd

nextCharInd

protected int nextCharInd

inBuf

protected int inBuf
Constructor Detail

JavaCharStream

public JavaCharStream(java.io.Reader dstream,
                      int startline,
                      int startcolumn,
                      int buffersize)

JavaCharStream

public JavaCharStream(java.io.Reader dstream,
                      int startline,
                      int startcolumn)

JavaCharStream

public JavaCharStream(java.io.Reader dstream)

JavaCharStream

public JavaCharStream(java.io.InputStream dstream,
                      int startline,
                      int startcolumn,
                      int buffersize)

JavaCharStream

public JavaCharStream(java.io.InputStream dstream,
                      int startline,
                      int startcolumn)

JavaCharStream

public JavaCharStream(java.io.InputStream dstream)
Method Detail

ExpandBuff

protected void ExpandBuff(boolean wrapAround)

FillBuff

protected void FillBuff()
                 throws java.io.IOException
Throws:
java.io.IOException

ReadByte

protected char ReadByte()
                 throws java.io.IOException
Throws:
java.io.IOException

BeginToken

public char BeginToken()
                throws java.io.IOException
Throws:
java.io.IOException

AdjustBuffSize

protected void AdjustBuffSize()

UpdateLineColumn

protected void UpdateLineColumn(char c)

readChar

public char readChar()
              throws java.io.IOException
Throws:
java.io.IOException

getColumn

public int getColumn()
Deprecated.  

See Also:
getEndColumn()

getLine

public int getLine()
Deprecated.  

See Also:
getEndLine()

getEndColumn

public int getEndColumn()

getEndLine

public int getEndLine()

getBeginColumn

public int getBeginColumn()

getBeginLine

public int getBeginLine()

backup

public void backup(int amount)

ReInit

public void ReInit(java.io.Reader dstream,
                   int startline,
                   int startcolumn,
                   int buffersize)

ReInit

public void ReInit(java.io.Reader dstream,
                   int startline,
                   int startcolumn)

ReInit

public void ReInit(java.io.Reader dstream)

ReInit

public void ReInit(java.io.InputStream dstream,
                   int startline,
                   int startcolumn,
                   int buffersize)

ReInit

public void ReInit(java.io.InputStream dstream,
                   int startline,
                   int startcolumn)

ReInit

public void ReInit(java.io.InputStream dstream)

GetImage

public java.lang.String GetImage()

GetSuffix

public char[] GetSuffix(int len)

Done

public void Done()

adjustBeginLineColumn

public void adjustBeginLineColumn(int newLine,
                                  int newCol)
Method to adjust line and column numbers for the start of a token.



(c) 1999-2005 by Ralph Jocham (rjocham72@netscape.net)
JCSC is released under the terms of the GNU General Public License