com.pmdesigns.jvc.tools
Class SimpleCharStream

java.lang.Object
  extended by com.pmdesigns.jvc.tools.SimpleCharStream

public class SimpleCharStream
extends java.lang.Object

An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (without unicode processing).


Field Summary
protected  int[] bufcolumn
           
protected  char[] buffer
           
protected  int[] bufline
           
 int bufpos
          Position in buffer.
protected  int column
           
protected  int inBuf
           
protected  java.io.Reader inputStream
           
protected  int line
           
protected  int maxNextCharInd
           
protected  boolean prevCharIsCR
           
protected  boolean prevCharIsLF
           
static boolean staticFlag
          Whether parser is static.
protected  int tabSize
           
 
Constructor Summary
SimpleCharStream(java.io.InputStream dstream)
          Constructor.
SimpleCharStream(java.io.InputStream dstream, int startline, int startcolumn)
          Constructor.
SimpleCharStream(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
          Constructor.
SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding)
          Constructor.
SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
          Constructor.
SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
          Constructor.
SimpleCharStream(java.io.Reader dstream)
          Constructor.
SimpleCharStream(java.io.Reader dstream, int startline, int startcolumn)
          Constructor.
SimpleCharStream(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
          Constructor.
 
Method Summary
 void adjustBeginLineColumn(int newLine, int newCol)
          Method to adjust line and column numbers for the start of a token.
 void backup(int amount)
          Backup a number of characters.
 char BeginToken()
          Start.
 void Done()
          Reset buffer when finished.
protected  void ExpandBuff(boolean wrapAround)
           
protected  void FillBuff()
           
 int getBeginColumn()
          Get token beginning column number.
 int getBeginLine()
          Get token beginning line number.
 int getColumn()
          Deprecated.  
 int getEndColumn()
          Get token end column number.
 int getEndLine()
          Get token end line number.
 java.lang.String GetImage()
          Get token literal value.
 int getLine()
          Deprecated.  
 char[] GetSuffix(int len)
          Get the suffix.
protected  int getTabSize(int i)
           
 char readChar()
          Read a character.
 void ReInit(java.io.InputStream dstream)
          Reinitialise.
 void ReInit(java.io.InputStream dstream, int startline, int startcolumn)
          Reinitialise.
 void ReInit(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
          Reinitialise.
 void ReInit(java.io.InputStream dstream, java.lang.String encoding)
          Reinitialise.
 void ReInit(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
          Reinitialise.
 void ReInit(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
          Reinitialise.
 void ReInit(java.io.Reader dstream)
          Reinitialise.
 void ReInit(java.io.Reader dstream, int startline, int startcolumn)
          Reinitialise.
 void ReInit(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
          Reinitialise.
protected  void setTabSize(int i)
           
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
Whether parser is static.

See Also:
Constant Field Values

bufpos

public int bufpos
Position in buffer.


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

buffer

protected char[] buffer

maxNextCharInd

protected int maxNextCharInd

inBuf

protected int inBuf

tabSize

protected int tabSize
Constructor Detail

SimpleCharStream

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


SimpleCharStream

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


SimpleCharStream

public SimpleCharStream(java.io.Reader dstream)
Constructor.


SimpleCharStream

public SimpleCharStream(java.io.InputStream dstream,
                        java.lang.String encoding,
                        int startline,
                        int startcolumn,
                        int buffersize)
                 throws java.io.UnsupportedEncodingException
Constructor.

Throws:
java.io.UnsupportedEncodingException

SimpleCharStream

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


SimpleCharStream

public SimpleCharStream(java.io.InputStream dstream,
                        java.lang.String encoding,
                        int startline,
                        int startcolumn)
                 throws java.io.UnsupportedEncodingException
Constructor.

Throws:
java.io.UnsupportedEncodingException

SimpleCharStream

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


SimpleCharStream

public SimpleCharStream(java.io.InputStream dstream,
                        java.lang.String encoding)
                 throws java.io.UnsupportedEncodingException
Constructor.

Throws:
java.io.UnsupportedEncodingException

SimpleCharStream

public SimpleCharStream(java.io.InputStream dstream)
Constructor.

Method Detail

setTabSize

protected void setTabSize(int i)

getTabSize

protected int getTabSize(int i)

ExpandBuff

protected void ExpandBuff(boolean wrapAround)

FillBuff

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

BeginToken

public char BeginToken()
                throws java.io.IOException
Start.

Throws:
java.io.IOException

UpdateLineColumn

protected void UpdateLineColumn(char c)

readChar

public char readChar()
              throws java.io.IOException
Read a character.

Throws:
java.io.IOException

getColumn

public int getColumn()
Deprecated. 

See Also:
getEndColumn()

getLine

public int getLine()
Deprecated. 

See Also:
getEndLine()

getEndColumn

public int getEndColumn()
Get token end column number.


getEndLine

public int getEndLine()
Get token end line number.


getBeginColumn

public int getBeginColumn()
Get token beginning column number.


getBeginLine

public int getBeginLine()
Get token beginning line number.


backup

public void backup(int amount)
Backup a number of characters.


ReInit

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


ReInit

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


ReInit

public void ReInit(java.io.Reader dstream)
Reinitialise.


ReInit

public void ReInit(java.io.InputStream dstream,
                   java.lang.String encoding,
                   int startline,
                   int startcolumn,
                   int buffersize)
            throws java.io.UnsupportedEncodingException
Reinitialise.

Throws:
java.io.UnsupportedEncodingException

ReInit

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


ReInit

public void ReInit(java.io.InputStream dstream,
                   java.lang.String encoding)
            throws java.io.UnsupportedEncodingException
Reinitialise.

Throws:
java.io.UnsupportedEncodingException

ReInit

public void ReInit(java.io.InputStream dstream)
Reinitialise.


ReInit

public void ReInit(java.io.InputStream dstream,
                   java.lang.String encoding,
                   int startline,
                   int startcolumn)
            throws java.io.UnsupportedEncodingException
Reinitialise.

Throws:
java.io.UnsupportedEncodingException

ReInit

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


GetImage

public java.lang.String GetImage()
Get token literal value.


GetSuffix

public char[] GetSuffix(int len)
Get the suffix.


Done

public void Done()
Reset buffer when finished.


adjustBeginLineColumn

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