Class SequenceRule
java.lang.Object
com.singularsys.extensions.structure.SequenceRule
- All Implemented Interfaces:
GrammaticalRuleI,GrammarMatcher,Serializable
- Direct Known Subclasses:
SequenceSeparatorRule
Parses a sequence of statements
<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.- Author:
- Richard Morris
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidDelayed initialisation, this method is called whenever components of the jep instance are changed.match(Lookahead2Iterator<Token> it, GrammarParser parser) Attempt to parse the input using the rulematch(Lookahead2Iterator<Token> it, SymbolToken end, GrammarParser parser) Repeatedly parse statements until end token is encountered or end of input
-
Constructor Details
-
SequenceRule
- Parameters:
statement- rule to parse individual statements
-
-
Method Details
-
match
public Node match(Lookahead2Iterator<Token> it, SymbolToken end, GrammarParser parser) throws ParseException Repeatedly parse statements until end token is encountered or end of input- Parameters:
it- the input list of tokensend- symbol marking end of sequenceparser- parser to parse individual statements- Returns:
- a SequenceNode
- Throws:
ParseException- if input cannot be parsed
-
match
Description copied from interface:GrammaticalRuleIAttempt to parse the input using the rule- Specified by:
matchin interfaceGrammarMatcher- Specified by:
matchin interfaceGrammaticalRuleI- Parameters:
it- iterator with tokens to parseparser- the parser to parse any components of the rule- Returns:
- successful parses should return a Node, null if unsuccessful
- Throws:
ParseException- if there is a syntactical error
-
init
Description copied from interface:GrammarMatcherDelayed initialisation, this method is called whenever components of the jep instance are changed.- Specified by:
initin interfaceGrammarMatcher- Parameters:
jep- the current jep instance.
-