CharStream

A source of characters for an ANTLR lexer.

Members

Functions

getText
string getText(Interval interval)

This method returns the text for a range of characters within this input stream. This method is guaranteed to not throw an exception if the specified {@code interval} lies entirely within a marked range. For more information about marked ranges, see {@link IntStream#mark}.

Inherited Members

From IntStream

consume
void consume()

Consumes the current symbol in the stream. This method has the following effects:

LA
int LA(int i)

Gets the value of the symbol at offset {@code i} from the current position. When {@code i==1}, this method returns the value of the current symbol in the stream (which is the next symbol to be consumed). When {@code i==-1}, this method returns the value of the previously read symbol in the stream. It is not valid to call this method with {@code i==0}, but the specific behavior is unspecified because this method is frequently called from performance-critical code.

mark
int mark()

A mark provides a guarantee that {@link #seek seek()} operations will be valid over a "marked range" extending from the index where {@code mark()} was called to the current {@link #index index()}. This allows the use of streaming input sources by specifying the minimum buffering requirements to support arbitrary lookahead during prediction.

release
void release(int marker)

This method releases a marked range created by a call to {@link #mark mark()}. Calls to {@code release()} must appear in the reverse order of the corresponding calls to {@code mark()}. If a mark is released twice, or if marks are not released in reverse order of the corresponding calls to {@code mark()}, the behavior is unspecified.

index
int index()

eturn the index into the stream of the input symbol referred to by {@code LA(1)}.

seek
void seek(int index)

Set the input cursor to the position indicated by {@code index}. If the specified index lies past the end of the stream, the operation behaves as though {@code index} was the index of the EOF symbol. After this method returns without throwing an exception, then at least one of the following will be true.

size
int size()

Returns the total number of symbols in the stream, including a single EOF symbol.

getSourceName
string getSourceName()

Gets the name of the underlying symbol source. This method returns a non-null, non-empty string. If such a name is not known, this method returns {@link #UNKNOWN_SOURCE_NAME}.

Meta