Copy data in string to a local char array
The index of the character relative to the beginning of the this.line 0..n-1
The data being scanned
Track the last mark() call result value for use in rewind().
this.line number 1..n within the input
tracks how deep mark() calls are nested
A list of CharStreamState objects that tracks the stream state values this.line, this.charPositionInLine, and this.p that can change as you move through the input stream. Indexed from 1..markDepth. A null is kept @ index 0. Create upon first call to mark().
How many characters are actually in the buffer
What is name or source of this char stream?
0..n-1 index into string of next char
Return the current input symbol index 0..n where n indicates the last symbol has been read. The index is the index of char to be returned from LA(1).
Reset the stream so that it's in the same state it was when the object was created except the data array is not touched.
consume() ahead until this.p==index; can't just set this.p=index as we must update this.line and this.charPositionInLine.
Generated using TypeDoc
A pretty quick CharStream that pulls all data from an array directly. Every method call counts in the lexer. Java's strings aren't very good so I'm avoiding.