S
- the root type of the abstract syntax tree being parsed.public abstract class Parser<S>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected int |
lookAheadBufferSize |
Constructor and Description |
---|
Parser() |
Modifier and Type | Method and Description |
---|---|
protected void |
consume()
Consume 1 token from the input.
|
abstract Lexer |
getLexer() |
protected Token |
lookAhead(int i) |
protected void |
match(java.lang.String toMatchSymbol)
Consume the given match symbol if it matches the current input token.
|
protected abstract S |
parse()
To be implemented by concrete implementations of this class.
|
S |
parse(java.io.Reader inputReader)
Parse the input concrete syntax into an abstract syntax tree.
|
S |
parse(java.lang.String input)
Parse the input concrete syntax into an abstract syntax tree.
|
public abstract Lexer getLexer()
public S parse(java.lang.String input)
input
- a string representation of the concrete syntax to be parsed.public S parse(java.io.Reader inputReader)
inputReader
- a Reader of the concrete syntax to be parsed.protected abstract S parse()
protected Token lookAhead(int i)
protected void consume()
protected void match(java.lang.String toMatchSymbol)
toMatchSymbol
- the symbol to match before consuming it.