Package org.antlr.v4.runtime
Interface TokenSource
- 
- All Known Implementing Classes:
- Lexer,- LexerInterpreter,- ListTokenSource,- XPathLexer
 
 public interface TokenSourceA source of tokens must provide a sequence of tokens vianextToken()and also must reveal it's source of characters;CommonToken's text is computed from aCharStream; it only store indices into the char stream.Errors from the lexer are never passed to the parser. Either you want to keep going or you do not upon token recognition error. If you do not want to continue lexing then you do not want to continue parsing. Just throw an exception not under RecognitionExceptionand Java will naturally toss you all the way out of the recognizers. If you want to continue lexing then you should not throw an exception to the parser--it has already requested a token. Keep lexing until you get a valid one. Just report errors and keep going, looking for a valid token.
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description intgetCharPositionInLine()Get the index into the current line for the current position in the input stream.CharStreamgetInputStream()Get theCharStreamfrom which this token source is currently providing tokens.intgetLine()Get the line number for the current position in the input stream.StringgetSourceName()Gets the name of the underlying input source.TokenFactory<?>getTokenFactory()Gets theTokenFactorythis token source is currently using for creatingTokenobjects from the input.TokennextToken()Return aTokenobject from your input stream (usually aCharStream).voidsetTokenFactory(TokenFactory<?> factory)Set theTokenFactorythis token source should use for creatingTokenobjects from the input.
 
- 
- 
- 
Method Detail- 
nextTokenToken nextToken() Return aTokenobject from your input stream (usually aCharStream). Do not fail/return upon lexing error; keep chewing on the characters until you get a good one; errors are not passed through to the parser.
 - 
getLineint getLine() Get the line number for the current position in the input stream. The first line in the input is line 1.- Returns:
- The line number for the current position in the input stream, or 0 if the current token source does not track line numbers.
 
 - 
getCharPositionInLineint getCharPositionInLine() Get the index into the current line for the current position in the input stream. The first character on a line has position 0.- Returns:
- The line number for the current position in the input stream, or -1 if the current token source does not track character positions.
 
 - 
getInputStreamCharStream getInputStream() Get theCharStreamfrom which this token source is currently providing tokens.- Returns:
- The CharStreamassociated with the current position in the input, ornullif no input stream is available for the token source.
 
 - 
getSourceNameString getSourceName() Gets the name of the underlying input source. This method returns a non-null, non-empty string. If such a name is not known, this method returnsIntStream.UNKNOWN_SOURCE_NAME.
 - 
setTokenFactoryvoid setTokenFactory(TokenFactory<?> factory) Set theTokenFactorythis token source should use for creatingTokenobjects from the input.- Parameters:
- factory- The- TokenFactoryto use for creating tokens.
 
 - 
getTokenFactoryTokenFactory<?> getTokenFactory() Gets theTokenFactorythis token source is currently using for creatingTokenobjects from the input.- Returns:
- The TokenFactorycurrently used by this token source.
 
 
- 
 
-