Class JavaForRule
- java.lang.Object
-
- com.singularsys.extensions.structure.JavaForRule
-
- All Implemented Interfaces:
GrammaticalRuleI
,GrammarMatcher
,java.io.Serializable
public class JavaForRule extends java.lang.Object implements GrammaticalRuleI
Parses a java-style for loopfor(i=0;i<10;++i) x+=i;
.<JavaForRule> ::= <for> <open> <expression> <sep> <expression> <sep> <expression> <close> <statement>
Any of the expressions can be empty Successful parse will return aLoopNode
.- Author:
- Richard Morris
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JavaForRule(SymbolToken forToken, SymbolToken open, GrammaticalRuleI expression, SymbolToken sep, SymbolToken close, GrammaticalRuleI statement)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
-
-
-
Constructor Detail
-
JavaForRule
public JavaForRule(SymbolToken forToken, SymbolToken open, GrammaticalRuleI expression, SymbolToken sep, SymbolToken close, GrammaticalRuleI statement)
Constructor.- Parameters:
forToken
- token representing "for"open
- opening bracketexpression
- rule for parsing an expressionsep
- separator between part of statementclose
- closing bracketstatement
- rule for parsing a statement
-
-
Method Detail
-
match
public Node match(Lookahead2Iterator<Token> it, GrammarParser parser) throws ParseException
Description copied from interface:GrammaticalRuleI
Attempt to parse the input using the rule- Specified by:
match
in interfaceGrammarMatcher
- Specified by:
match
in 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
public void init(Jep jep)
Description copied from interface:GrammarMatcher
Delayed initialisation, this methods is called whenever components of the jep instance are changed.- Specified by:
init
in interfaceGrammarMatcher
- Parameters:
jep
- the current jep instance.
-
-