Class JepJavaCharStream

  • All Implemented Interfaces:
    CharStream

    public class JepJavaCharStream
    extends java.lang.Object
    implements CharStream
    Customised version of the JavaCharStream. Only change is the error thrown by readChar() which is now a Localizable TokenMgrError rather than an Error.
    • Constructor Summary

      Constructors 
      Constructor Description
      JepJavaCharStream​(java.io.InputStream dstream)
      Constructor.
      JepJavaCharStream​(java.io.InputStream dstream, int startline, int startcolumn)
      Constructor.
      JepJavaCharStream​(java.io.InputStream dstream, java.lang.String encoding)
      Constructor.
      JepJavaCharStream​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
      Constructor.
      JepJavaCharStream​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
      Constructor.
      JepJavaCharStream​(java.io.Reader dstream)
      Constructor.
      JepJavaCharStream​(java.io.Reader dstream, int startline, int startcolumn)
      Constructor.
      JepJavaCharStream​(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()  
      protected char ReadByte()  
      char readChar()
      Read a character.
      void ReInit​(java.io.InputStream dstream)
      Reinitialize.
      void ReInit​(java.io.InputStream dstream, int startline, int startcolumn)
      Reinitialize.
      void ReInit​(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
      Reinitialize.
      void ReInit​(java.io.InputStream dstream, java.lang.String encoding)
      Reinitialize.
      void ReInit​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
      Reinitialize.
      void ReInit​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
      Reinitialize.
      void ReInit​(java.io.Reader dstream)
      Reinitialize.
      void ReInit​(java.io.Reader dstream, int startline, int startcolumn)
      Reinitialize.
      void ReInit​(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
      Reinitialize.
      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

      • JepJavaCharStream

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

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

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

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

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

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

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

        public JepJavaCharStream​(java.io.InputStream dstream)
        Constructor.
    • Method Detail

      • setTabSize

        protected void setTabSize​(int i)
      • getTabSize

        protected int getTabSize()
      • 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
        Returns:
        next character
        Throws:
        java.io.IOException
      • getColumn

        @Deprecated
        public int getColumn()
        Deprecated.
        Description copied from interface: CharStream
        Returns the column position of the character last read.
        Specified by:
        getColumn in interface CharStream
        Returns:
        column number
        See Also:
        getEndColumn()
      • getLine

        @Deprecated
        public int getLine()
        Deprecated.
        Description copied from interface: CharStream
        Returns the line number of the character last read.
        Specified by:
        getLine in interface CharStream
        Returns:
        line number
        See Also:
        getEndLine()
      • getEndColumn

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

        public int getEndLine()
        Get end line.
        Specified by:
        getEndLine in interface CharStream
        Returns:
        line number
      • 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
        Parameters:
        amount - number of characters to backup
      • ReInit

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

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

        public void ReInit​(java.io.Reader dstream)
        Reinitialize.
      • ReInit

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

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

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

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

        public void ReInit​(java.io.InputStream dstream,
                           java.lang.String encoding)
                    throws java.io.UnsupportedEncodingException
        Reinitialize.
        Throws:
        java.io.UnsupportedEncodingException
      • ReInit

        public void ReInit​(java.io.InputStream dstream)
        Reinitialize.
      • 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.