org.codehaus.groovy.syntax.lexer
Class TextLexerBase

java.lang.Object
  extended byorg.codehaus.groovy.syntax.lexer.LexerBase
      extended byorg.codehaus.groovy.syntax.lexer.TextLexerBase
All Implemented Interfaces:
Delimiter, Lexer
Direct Known Subclasses:
HereDocLexer, StringLexer

public class TextLexerBase
extends LexerBase
implements Delimiter

A base class for Lexers that process embedded text.

Author:
Chris Poirier

Field Summary
protected  boolean delimited
           
protected  boolean finished
           
 
Fields inherited from class org.codehaus.groovy.syntax.lexer.LexerBase
delegate, source, startColumn, startLine
 
Constructor Summary
TextLexerBase()
           
 
Method Summary
 char consume()
          Eats a character from the input stream.
 void delimit(boolean delimited)
          Turns delimiting on or off.
protected  void finish()
          Stops the lexer stream.
 boolean isDelimited()
          Returns true if the lexer is applying its delimiter policy.
 boolean isFinished()
          Returns true if the lexer stream is dry.
 char la(int k)
          Returns the next kth character, without consuming any.
protected  void restart()
          Restarts the lexer stream after a finish() and some intevening act (like a new source).
 
Methods inherited from class org.codehaus.groovy.syntax.lexer.LexerBase
delegate, getColumn, getDelegate, getLine, getSource, getStartColumn, getStartLine, isDelegated, isExternallySourced, la, mark, nextToken, readEOL, readEOL, reset, setSource, symbol, symbol, tokenizeEOL, undelegate, undelegatedNextToken, unexpected, unexpected, unexpected, unsetSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

delimited

protected boolean delimited

finished

protected boolean finished
Constructor Detail

TextLexerBase

public TextLexerBase()
Method Detail

delimit

public void delimit(boolean delimited)
Turns delimiting on or off. This should affect la() and consume(). However, once the delimiter has been reached, this routine should have no effect.

Specified by:
delimit in interface Delimiter

isDelimited

public boolean isDelimited()
Returns true if the lexer is applying its delimiter policy.

Specified by:
isDelimited in interface Delimiter

isFinished

public boolean isFinished()
Returns true if the lexer stream is dry.

Specified by:
isFinished in interface Delimiter

restart

protected void restart()
Restarts the lexer stream after a finish() and some intevening act (like a new source).


finish

protected void finish()
Stops the lexer stream.


la

public char la(int k)
        throws LexerException,
               ReadException
Returns the next kth character, without consuming any.

Specified by:
la in interface Lexer
Overrides:
la in class LexerBase
Throws:
LexerException
ReadException

consume

public char consume()
             throws LexerException,
                    ReadException
Eats a character from the input stream.

Specified by:
consume in interface Lexer
Overrides:
consume in class LexerBase
Throws:
LexerException
ReadException


Copyright © 2003-2005 The Codehaus. All Rights Reserved.