Class JavaCharStream

  • All Implemented Interfaces:
    CharStream

    public class JavaCharStream
    extends java.lang.Object
    implements CharStream
    An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (with java-like unicode escape processing).
    • Constructor Summary

      Constructors 
      Constructor Description
      JavaCharStream​(java.io.InputStream dstream)
      Constructor.
      JavaCharStream​(java.io.InputStream dstream, int startline, int startcolumn)
      Constructor.
      JavaCharStream​(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
      Constructor.
      JavaCharStream​(java.io.InputStream dstream, java.lang.String encoding)
      Constructor.
      JavaCharStream​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
      Constructor.
      JavaCharStream​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
      Constructor.
      JavaCharStream​(java.io.Reader dstream)
      Constructor.
      JavaCharStream​(java.io.Reader dstream, int startline, int startcolumn)
      Constructor.
      JavaCharStream​(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      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)
      Retreat.
      char BeginToken()
      Returns the next character that marks the beginning of the next token.
      void Done()
      Set buffers back to null when finished.
      protected void ExpandBuff​(boolean wrapAround)  
      protected void FillBuff()  
      int getBeginColumn()
      Returns the column number of the first character for current token (being matched after the last call to BeginTOken).
      int getBeginLine()
      Returns the line number of the first character for current token (being matched after the last call to BeginTOken).
      int getColumn()
      Deprecated.
      int getEndColumn()
      Get end column.
      int getEndLine()
      Get end line.
      java.lang.String GetImage()
      Returns a string made up of characters from the marked token beginning to the current buffer position.
      int getLine()
      Deprecated.
      char[] GetSuffix​(int len)
      Returns an array of characters that make up the suffix of length 'len' for the currently matched token.
      protected int getTabSize​(int i)  
      protected char ReadByte()  
      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
      • nextCharBuf

        protected char[] nextCharBuf
      • buffer

        protected char[] buffer
      • maxNextCharInd

        protected int maxNextCharInd
      • nextCharInd

        protected int nextCharInd
      • inBuf

        protected int inBuf
      • tabSize

        protected int tabSize
    • Constructor Detail

      • JavaCharStream

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

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

        public JavaCharStream​(java.io.Reader dstream)
        Constructor.
      • JavaCharStream

        public JavaCharStream​(java.io.InputStream dstream,
                              java.lang.String encoding,
                              int startline,
                              int startcolumn,
                              int buffersize)
                       throws java.io.UnsupportedEncodingException
        Constructor.
        Throws:
        java.io.UnsupportedEncodingException
      • JavaCharStream

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

        public JavaCharStream​(java.io.InputStream dstream,
                              java.lang.String encoding,
                              int startline,
                              int startcolumn)
                       throws java.io.UnsupportedEncodingException
        Constructor.
        Throws:
        java.io.UnsupportedEncodingException
      • JavaCharStream

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

        public JavaCharStream​(java.io.InputStream dstream,
                              java.lang.String encoding)
                       throws java.io.UnsupportedEncodingException
        Constructor.
        Throws:
        java.io.UnsupportedEncodingException
      • JavaCharStream

        public JavaCharStream​(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
      • ReadByte

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

        public char BeginToken()
                        throws java.io.IOException
        Description copied from interface: CharStream
        Returns the next character that marks the beginning of the next token. All characters must remain in the buffer between two successive calls to this method to implement backup correctly.
        Specified by:
        BeginToken in interface CharStream
        Returns:
        starting character for token.
        Throws:
        java.io.IOException
      • AdjustBuffSize

        protected void AdjustBuffSize()
      • UpdateLineColumn

        protected void UpdateLineColumn​(char c)
      • readChar

        public char readChar()
                      throws java.io.IOException
        Read a character.
        Specified by:
        readChar in interface CharStream
        Throws:
        java.io.IOException
      • getColumn

        @Deprecated
        public int getColumn()
        Deprecated.
        Specified by:
        getColumn in interface CharStream
      • getLine

        @Deprecated
        public int getLine()
        Deprecated.
        Specified by:
        getLine in interface CharStream
      • getEndColumn

        public int getEndColumn()
        Get end column.
        Specified by:
        getEndColumn in interface CharStream
      • getEndLine

        public int getEndLine()
        Get end line.
        Specified by:
        getEndLine in interface CharStream
      • getBeginColumn

        public int getBeginColumn()
        Description copied from interface: CharStream
        Returns the column number of the first character for current token (being matched after the last call to BeginTOken).
        Specified by:
        getBeginColumn in interface CharStream
        Returns:
        column of token start
      • getBeginLine

        public int getBeginLine()
        Description copied from interface: CharStream
        Returns the line number of the first character for current token (being matched after the last call to BeginTOken).
        Specified by:
        getBeginLine in interface CharStream
        Returns:
        line number of token start
      • backup

        public void backup​(int amount)
        Retreat.
        Specified by:
        backup in interface CharStream
      • 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,
                           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.
      • 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.
      • GetImage

        public java.lang.String GetImage()
        Description copied from interface: CharStream
        Returns a string made up of characters from the marked token beginning to the current buffer position. Implementations have the choice of returning anything that they want to. For example, for efficiency, one might decide to just return null, which is a valid implementation.
        Specified by:
        GetImage in interface CharStream
        Returns:
        token image as String
      • GetSuffix

        public char[] GetSuffix​(int len)
        Description copied from interface: CharStream
        Returns an array of characters that make up the suffix of length 'len' for the currently matched token. This is used to build up the matched string for use in actions in the case of MORE. A simple and inefficient implementation of this is as follows : { String t = GetImage(); return t.substring(t.length() - len, t.length()).toCharArray(); }
        Specified by:
        GetSuffix in interface CharStream
        Returns:
        suffix
      • Done

        public void Done()
        Set buffers back to null when finished.
        Specified by:
        Done in interface CharStream
      • adjustBeginLineColumn

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