|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.percederberg.grammatica.parser.Parser | +--net.percederberg.grammatica.parser.RecursiveDescentParser
A recursive descent parser. This parser handles LL(n) grammars, selecting the appropriate pattern to parse based on the next few tokens. The parser is more efficient the fewer look-ahead tokens that is has to consider.
Constructor Summary | |
RecursiveDescentParser(Tokenizer tokenizer)
Creates a new parser. |
|
RecursiveDescentParser(Tokenizer tokenizer,
Analyzer analyzer)
Creates a new parser. |
Method Summary | |
void |
addPattern(ProductionPattern pattern)
Adds a new production pattern to the parser. |
protected Node |
parseStart()
Parses the input stream and creates a parse tree. |
void |
prepare()
Initializes the parser. |
Methods inherited from class net.percederberg.grammatica.parser.Parser |
parse, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public RecursiveDescentParser(Tokenizer tokenizer)
tokenizer
- the tokenizer to usepublic RecursiveDescentParser(Tokenizer tokenizer, Analyzer analyzer)
tokenizer
- the tokenizer to useanalyzer
- the analyzer callback to useMethod Detail |
public void addPattern(ProductionPattern pattern) throws ParserCreationException
addPattern
in class Parser
pattern
- the pattern to add
ParserCreationException
- if the pattern couldn't be
added correctly to the parserpublic void prepare() throws ParserCreationException
prepare
in class Parser
ParserCreationException
- if the parser couldn't be
initialized correctlyprotected Node parseStart() throws ParseException
parseStart
in class Parser
ParseException
- if the input couldn't be parsed
correctly
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |