Class Token

java.lang.Object
org.nineml.coffeegrinder.util.Decoratable
org.nineml.coffeegrinder.tokens.Token
Direct Known Subclasses:
TokenCharacter, TokenCharacterSet, TokenEOF, TokenEPSILON, TokenRegex, TokenString, TokenUndefined

public abstract class Token extends Decoratable
An input token.

This is an abstraction for input tokens. It allows the parser to be used, for example, for both sequences of characters and sequences of strings. (Sequences of anything you like, provided you define the tokens.)

The only thing that's important about tokens is that we can tell when they match each other. This is not the same as equality becuase, for example, the same regular expression token might match many different input strings.

  • Constructor Details

  • Method Details

    • matches

      public abstract boolean matches(Token input)
      Does this token match the input?
      Parameters:
      input - The input.
      Returns:
      true if this token matches that input.
    • getValue

      public abstract String getValue()
      What is this token?
      Returns:
      the token string