at.dms.compiler.tools.antlr.runtime
Class ByteBuffer

java.lang.Object
  extended by at.dms.compiler.tools.antlr.runtime.InputBuffer
      extended by at.dms.compiler.tools.antlr.runtime.ByteBuffer

public class ByteBuffer
extends InputBuffer

A Stream of characters fed to the lexer from a InputStream that can be rewound via mark()/rewind() methods.

A dynamic array is used to buffer up all the input characters. Normally, "k" characters are stored in the buffer. More characters may be stored during guess mode (testing syntactic predicate), or when LT(i>k) is referenced. Consumption of characters is deferred. In other words, reading the next character is not done by conume(), but deferred until needed by LA or LT.

See Also:
CharQueue

Field Summary
 
Fields inherited from class at.dms.compiler.tools.antlr.runtime.InputBuffer
markerOffset, nMarkers, numToConsume, queue
 
Constructor Summary
ByteBuffer(InputStream input)
          Create a character buffer
 
Method Summary
 void fill(int amount)
          Ensure that the character buffer is sufficiently full
 
Methods inherited from class at.dms.compiler.tools.antlr.runtime.InputBuffer
commit, consume, getLAChars, getMarkedChars, isMarked, LA, mark, rewind, syncConsume
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteBuffer

public ByteBuffer(InputStream input)
Create a character buffer

Method Detail

fill

public void fill(int amount)
          throws CharStreamException
Ensure that the character buffer is sufficiently full

Specified by:
fill in class InputBuffer
Throws:
CharStreamException