Package antlr

Class CharScanner

java.lang.Object
antlr.CharScanner
All Implemented Interfaces:
TokenStream
Direct Known Subclasses:
ActionLexer, ActionLexer, ActionLexer, ActionLexer, ANTLRLexer, ANTLRTokdefLexer, CodeLexer, DebuggingCharScanner, PreprocessorLexer

public abstract class CharScanner extends Object implements TokenStream
  • Field Details

    • NO_CHAR

      static final char NO_CHAR
      See Also:
    • EOF_CHAR

      public static final char EOF_CHAR
      See Also:
    • text

      protected ANTLRStringBuffer text
    • saveConsumedInput

      protected boolean saveConsumedInput
    • tokenObjectClass

      protected Class tokenObjectClass
    • caseSensitive

      protected boolean caseSensitive
    • caseSensitiveLiterals

      protected boolean caseSensitiveLiterals
    • literals

      protected Hashtable literals
    • tabsize

      protected int tabsize
      Tab chars are handled by tab() according to this value; override method to do anything weird with tabs.
    • _returnToken

      protected Token _returnToken
    • hashString

      protected ANTLRHashString hashString
    • inputState

      protected LexerSharedInputState inputState
    • commitToPath

      protected boolean commitToPath
      Used during filter mode to indicate that path is desired. A subsequent scan error will report an error as usual if acceptPath=true;
    • traceDepth

      protected int traceDepth
      Used to keep track of indentdepth for traceIn/Out
  • Constructor Details

  • Method Details

    • append

      public void append(char c)
    • append

      public void append(String s)
    • commit

      public void commit()
    • consume

      public void consume() throws CharStreamException
      Throws:
      CharStreamException
    • consumeUntil

      public void consumeUntil(int c) throws CharStreamException
      Consume chars until one matches the given char
      Throws:
      CharStreamException
    • consumeUntil

      public void consumeUntil(BitSet set) throws CharStreamException
      Consume chars until one matches the given set
      Throws:
      CharStreamException
    • getCaseSensitive

      public boolean getCaseSensitive()
    • getCaseSensitiveLiterals

      public final boolean getCaseSensitiveLiterals()
    • getColumn

      public int getColumn()
    • setColumn

      public void setColumn(int c)
    • getCommitToPath

      public boolean getCommitToPath()
    • getFilename

      public String getFilename()
    • getInputBuffer

      public InputBuffer getInputBuffer()
    • getInputState

      public LexerSharedInputState getInputState()
    • setInputState

      public void setInputState(LexerSharedInputState state)
    • getLine

      public int getLine()
    • getText

      public String getText()
      return a copy of the current text buffer
    • getTokenObject

      public Token getTokenObject()
    • LA

      public char LA(int i) throws CharStreamException
      Throws:
      CharStreamException
    • makeToken

      protected Token makeToken(int t)
    • mark

      public int mark()
    • match

      public void match(char c) throws MismatchedCharException, CharStreamException
      Throws:
      MismatchedCharException
      CharStreamException
    • match

      public void match(BitSet b) throws MismatchedCharException, CharStreamException
      Throws:
      MismatchedCharException
      CharStreamException
    • match

      public void match(String s) throws MismatchedCharException, CharStreamException
      Throws:
      MismatchedCharException
      CharStreamException
    • matchNot

      public void matchNot(char c) throws MismatchedCharException, CharStreamException
      Throws:
      MismatchedCharException
      CharStreamException
    • matchRange

      public void matchRange(char c1, char c2) throws MismatchedCharException, CharStreamException
      Throws:
      MismatchedCharException
      CharStreamException
    • newline

      public void newline()
    • tab

      public void tab()
      advance the current column number by an appropriate amount according to tab size. This method is called from consume().
    • setTabSize

      public void setTabSize(int size)
    • getTabSize

      public int getTabSize()
    • panic

      public void panic()
      See Also:
    • panic

      public void panic(String s)
      This method is executed by ANTLR internally when it detected an illegal state that cannot be recovered from. The default implementation of this method calls
      invalid @link
      {@link java.lang.System.exit(int)
      } and writes directly to
      invalid @link
      {@link java.lang.System.err)
      } , which is usually not appropriate when a translator is embedded into a larger application. It is highly recommended that this method be overridden to handle the error in a way appropriate for your application (e.g. throw an unchecked exception).
    • reportError

      public void reportError(RecognitionException ex)
      Parser error-reporting function can be overridden in subclass
    • reportError

      public void reportError(String s)
      Parser error-reporting function can be overridden in subclass
    • reportWarning

      public void reportWarning(String s)
      Parser warning-reporting function can be overridden in subclass
    • resetText

      public void resetText()
    • rewind

      public void rewind(int pos)
    • setCaseSensitive

      public void setCaseSensitive(boolean t)
    • setCommitToPath

      public void setCommitToPath(boolean commit)
    • setFilename

      public void setFilename(String f)
    • setLine

      public void setLine(int line)
    • setText

      public void setText(String s)
    • setTokenObjectClass

      public void setTokenObjectClass(String cl)
    • testLiteralsTable

      public int testLiteralsTable(int ttype)
    • testLiteralsTable

      public int testLiteralsTable(String text, int ttype)
      Test the text passed in against the literals table Override this method to perform a different literals test This is used primarily when you want to test a portion of a token.
    • toLower

      public char toLower(char c)
    • traceIndent

      public void traceIndent()
    • traceIn

      public void traceIn(String rname) throws CharStreamException
      Throws:
      CharStreamException
    • traceOut

      public void traceOut(String rname) throws CharStreamException
      Throws:
      CharStreamException
    • uponEOF

      public void uponEOF() throws TokenStreamException, CharStreamException
      This method is called by YourLexer.nextToken() when the lexer has hit EOF condition. EOF is NOT a character. This method is not called if EOF is reached during syntactic predicate evaluation or during evaluation of normal lexical rules, which presumably would be an IOException. This traps the "normal" EOF condition. uponEOF() is called after the complete evaluation of the previous token and only if your parser asks for another token beyond that last non-EOF token. You might want to throw token or char stream exceptions like: "Heh, premature eof" or a retry stream exception ("I found the end of this file, go back to referencing file").
      Throws:
      TokenStreamException
      CharStreamException