public abstract class Token extends Decoratable
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 and Description |
---|
Token(java.util.Collection<ParserAttribute> attributes)
A token with attributes.
|
Modifier and Type | Method and Description |
---|---|
abstract java.lang.String |
getValue()
What is this token?
|
abstract boolean |
matches(Token input)
Does this token match the input?
|
addAttribute, addAttributes, getAttribute, getAttributes, getAttributesMap, getAttributeValue, hasAttribute
public Token(java.util.Collection<ParserAttribute> attributes)
attributes
- the attributesGrammarException
- if the attribute names are not uniqueAttributeException
- if an attribute has an invalid valuepublic abstract boolean matches(Token input)
input
- The input.public abstract java.lang.String getValue()