Class SourceCodeTokenizerInternal


  • public final class SourceCodeTokenizerInternal
    extends java.lang.Object
    This class is adapted from java.io.SourceCodeTokenizer. It adds the notion of operator to the mix. You can define your own operators or use the default set of operators, which are taken from the Java Language Spec. It also captures state information for use by our parser e.g., current token location, line number and column.
    • Field Detail

      • DEFAULT_OPERATORS

        private static final java.util.Set<java.lang.String> DEFAULT_OPERATORS
      • BITSHIFT_OPERATORS

        private static final java.util.Set<java.lang.String> BITSHIFT_OPERATORS
      • _peekc

        int _peekc
      • _bForceLower

        private boolean _bForceLower
      • _bEOLIsSignificantP

        private boolean _bEOLIsSignificantP
      • _ctype

        private int[] _ctype
      • _operators

        private java.util.Set<java.lang.String> _operators
      • _iPos

        private int _iPos
      • _iLineNum

        private int _iLineNum
      • _iColumn

        private int _iColumn
      • _iTokenStart

        private int _iTokenStart
      • _iTokenColumn

        private int _iTokenColumn
      • _bWhitespaceSignificant

        private boolean _bWhitespaceSignificant
      • _bCommentsSignificant

        private boolean _bCommentsSignificant
      • _iType

        public int _iType
      • _keyword

        public Keyword _keyword
      • _strValue

        public java.lang.String _strValue
      • _iInvalidCharPos

        public int _iInvalidCharPos
      • _bUnterminatedString

        public boolean _bUnterminatedString
      • _bUnterminatedComment

        public boolean _bUnterminatedComment
      • _bParseDotsAsOperators

        private boolean _bParseDotsAsOperators
      • _iLineOffset

        private int _iLineOffset
      • _eof

        private Token _eof
      • _supportsKeywords

        private boolean _supportsKeywords
    • Constructor Detail

      • SourceCodeTokenizerInternal

        SourceCodeTokenizerInternal​(boolean initForCopy)
      • SourceCodeTokenizerInternal

        public SourceCodeTokenizerInternal​(java.lang.CharSequence sourceCode)
      • SourceCodeTokenizerInternal

        public SourceCodeTokenizerInternal​(java.io.Reader reader)
      • SourceCodeTokenizerInternal

        public SourceCodeTokenizerInternal​(SourceCodeReader reader)
    • Method Detail

      • copy

        public Token copy()
      • reset

        public void reset()
      • reset

        public void reset​(java.io.Reader reader)
      • getSource

        public java.lang.String getSource()
      • isWhitespaceSignificant

        public boolean isWhitespaceSignificant()
      • setWhitespaceSignificant

        public void setWhitespaceSignificant​(boolean bWhitespaceSignificant)
      • isCommentsSignificant

        public boolean isCommentsSignificant()
      • setCommentsSignificant

        public void setCommentsSignificant​(boolean bCommentsSignificant)
      • getLineNumber

        public int getLineNumber()
      • getLineOffset

        public int getLineOffset()
      • incrementLineNumber

        protected void incrementLineNumber()
      • getTokenColumn

        public int getTokenColumn()
      • wordChars

        public void wordChars​(int iLow,
                              int iHigh)
      • whitespaceChars

        public void whitespaceChars​(int iLow,
                                    int iHigh)
      • ordinaryChars

        public void ordinaryChars​(int iLow,
                                  int iHigh)
      • ordinaryChar

        public void ordinaryChar​(int ch)
      • getDefaultOperators

        public static java.lang.String[] getDefaultOperators()
      • getDefaultBindingOperators

        public static java.util.List<java.lang.String> getDefaultBindingOperators()
      • getBitshiftOperators

        public static java.lang.String[] getBitshiftOperators()
      • operators

        public void operators​(java.lang.String[] astrOperators)
      • setOperatorChars

        private void setOperatorChars​(java.util.Set<java.lang.String> operators)
      • operatorChars

        public void operatorChars​(int iLow,
                                  int iHigh)
      • setBitshiftOperatorChars

        private void setBitshiftOperatorChars​(java.util.Set<java.lang.String> operators)
      • bitshiftOperatorChars

        public void bitshiftOperatorChars​(int iLow,
                                          int iHigh)
      • isOperator

        public boolean isOperator​(java.lang.String strOperator)
      • commentChar

        public void commentChar​(int ch)
      • quoteChar

        public void quoteChar​(int ch)
      • charQuoteChar

        public void charQuoteChar​(int ch)
      • parseNumbers

        public void parseNumbers()
      • eolIsSignificant

        public void eolIsSignificant​(boolean bFlag)
      • lowerCaseMode

        public void lowerCaseMode​(boolean bLowerCaseMode)
      • isUnterminatedString

        public boolean isUnterminatedString()
      • isUnterminatedComment

        public boolean isUnterminatedComment()
      • setParseDotsAsOperators

        public void setParseDotsAsOperators​(boolean parseDotsAsOperators)
      • isParseDotsAsOperators

        public boolean isParseDotsAsOperators()
      • getTokenStart

        public int getTokenStart()
      • getTokenEnd

        public int getTokenEnd()
      • read

        private int read()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • readOne

        private int readOne()
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • readWithInstructions

        protected int readWithInstructions​(int c)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • pushWhitespaceToken

        private void pushWhitespaceToken​(java.lang.StringBuilder sbWhitespace)
      • pushToken

        private void pushToken()
      • initEofToken

        private void initEofToken()
      • pushToken

        private void pushToken​(Token token)
      • isAnalyzingSeparately

        public boolean isAnalyzingSeparately()
      • isAnalyzingDirective

        public boolean isAnalyzingDirective()
      • getTokens

        public final Stack<Token> getTokens()
      • rip

        void rip()
      • nextToken

        public int nextToken()
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • _nextTokenImpl

        private int _nextTokenImpl()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • consumeBlockComment

        private void consumeBlockComment()
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • isReserved

        private boolean isReserved()
      • isAtIgnorePos

        private boolean isAtIgnorePos()
      • isHexDigit

        private boolean isHexDigit​(int c)
      • isLeftOpenIntervalOp

        private boolean isLeftOpenIntervalOp​(java.lang.String strOpTest)
      • stopOnDot

        private boolean stopOnDot​(int c)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getType

        public int getType()
      • isEOF

        public boolean isEOF()
      • isNOTHING

        public boolean isNOTHING()
      • goToPosition

        void goToPosition​(int iOffset)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • setTokens

        void setTokens​(Stack<Token> tokens)
      • getEofToken

        public Token getEofToken()
      • isSupportsKeywords

        public boolean isSupportsKeywords()
      • setSupportsKeywords

        public void setSupportsKeywords​(boolean supportsKeywords)