public class SequenceRule extends java.lang.Object implements GrammaticalRuleI
<SequenceRule> ::= (<statement>)*A successful parses will return a SequenceNode with one child per statement. If there is only one child then just that child will be parsed.
Constructor and Description |
---|
SequenceRule(GrammaticalRuleI statement) |
Modifier and Type | Method and Description |
---|---|
void |
init(Jep jep)
Delayed initialisation, this methods is called whenever components of the jep instance are changed.
|
Node |
match(Lookahead2Iterator<Token> it,
GrammarParser parser)
Attempt to parse the input using the rule
|
Node |
match(Lookahead2Iterator<Token> it,
SymbolToken end,
GrammarParser parser)
Repeatedly parse statements until end token is encountered or end of input
|
public SequenceRule(GrammaticalRuleI statement)
statement
- rule to parse individual statementspublic Node match(Lookahead2Iterator<Token> it, SymbolToken end, GrammarParser parser) throws ParseException
it
- the input list of tokensend
- symbol marking end of sequenceparser
- parser to parse individual statementsParseException
- if input cannot be parsedpublic Node match(Lookahead2Iterator<Token> it, GrammarParser parser) throws ParseException
GrammaticalRuleI
match
in interface GrammaticalRuleI
match
in interface GrammarMatcher
it
- iterator with tokens to parseparser
- the parser to parse any components of the ruleParseException
- if there is a syntactical errorpublic void init(Jep jep)
GrammarMatcher
init
in interface GrammarMatcher
jep
- the current jep instance.Copyright © 2018 Singular Systems http://www.singularsys.com/jep