|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfr.umlv.tatoo.runtime.buffer.impl.AbstractLexerBuffer
fr.umlv.tatoo.runtime.buffer.impl.ReaderWrapper
public class ReaderWrapper
A ReaderWrapper wraps a Reader in order to allow
a lexer to process its content in order to have its tokens extracted.
Lexer| Constructor Summary | |
|---|---|
ReaderWrapper(int capacity,
int increment,
int chunkSize,
Reader reader,
LocationTracker tracker)
Construct a ReaderWrapper used by the lexer to process the Reader. |
|
ReaderWrapper(Reader reader,
LocationTracker tracker)
Constructs a ReaderWrapper with default behavior. |
|
| Method Summary | |
|---|---|
char |
charAt(int index)
|
void |
discardImpl()
|
boolean |
hasRemaining()
Returns true if more characters are availables in the buffer. |
int |
lastChar()
Returns last read char or -1 if not available. |
int |
length()
|
protected int |
nextImpl()
Returns next character in buffer without taking care of locations |
boolean |
previousWasNewLine()
Determines if the last unwinded character was an end of line. |
boolean |
read()
Reads at some bytes from the stream. |
protected void |
resetImpl()
Moves current position back to first non unwinded character without taking care of locations |
protected void |
restartImpl()
|
CharSequence |
subSequence(int start,
int end)
|
String |
toString()
Returns a String representation of the current token |
protected void |
unwindImpl(int l)
Performs unwind operation on buffer without taking care of locations |
CharSequence |
view()
Provides a view of all available tokens. |
| Methods inherited from class fr.umlv.tatoo.runtime.buffer.impl.AbstractLexerBuffer |
|---|
discard, getLocationProvider, locationClear, next, reset, restart, unwind |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface fr.umlv.tatoo.runtime.buffer.TokenBuffer |
|---|
discard |
| Constructor Detail |
|---|
public ReaderWrapper(Reader reader,
LocationTracker tracker)
ReaderWrapper with default behavior.
reader - the Reader to wraptracker - the location tracker
public ReaderWrapper(int capacity,
int increment,
int chunkSize,
Reader reader,
LocationTracker tracker)
ReaderWrapper used by the lexer to process the Reader.
The parameters specify how the underlying buffer which stores data in allocated and reallocated
when more space is needed.
capacity - the initial capacityincrement - how much to increment the size of the buffer when more space is requiredchunkSize - how many bytes are read at once is the inputreader - the input| Method Detail |
|---|
protected void unwindImpl(int l)
AbstractLexerBuffer
unwindImpl in class AbstractLexerBufferl - the number of characters to unwindLexerBuffer.unwind(int)protected void resetImpl()
AbstractLexerBuffer
resetImpl in class AbstractLexerBufferLexerBuffer.reset()public boolean previousWasNewLine()
LexerBuffer
previousWasNewLine in interface LexerBuffertrue if the last unwinded character was an end of line;
false otherwisepublic boolean hasRemaining()
LexerBuffer
hasRemaining in interface LexerBuffer
public boolean read()
throws IOException
LexerBufferSimpleLexer.run().
read in interface LexerBufferfalse at end of stream
IOException - if an i/o operation failed.protected int nextImpl()
AbstractLexerBuffer
nextImpl in class AbstractLexerBufferLexerBuffer.next()public void discardImpl()
discardImpl in class AbstractLexerBufferpublic CharSequence view()
TokenBuffer
view in interface TokenBuffer<CharSequence>public int length()
length in interface CharSequencepublic char charAt(int index)
charAt in interface CharSequence
public CharSequence subSequence(int start,
int end)
subSequence in interface CharSequencepublic String toString()
toString in interface CharSequencetoString in class Objectpublic int lastChar()
LexerBuffer
lastChar in interface LexerBufferprotected void restartImpl()
restartImpl in class AbstractLexerBuffer
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||