Class JavaForRule

java.lang.Object
com.singularsys.extensions.structure.JavaForRule
All Implemented Interfaces:
GrammaticalRuleI, GrammarMatcher, Serializable

public class JavaForRule extends Object implements GrammaticalRuleI
Parses a java-style for loop for(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 a LoopNode.
Author:
Richard Morris
See Also:
  • Constructor Details

    • JavaForRule

      public JavaForRule(SymbolToken forToken, SymbolToken open, GrammaticalRuleI expression, SymbolToken sep, SymbolToken close, GrammaticalRuleI statement)
      Constructor.
      Parameters:
      forToken - token representing "for"
      open - opening bracket
      expression - rule for parsing an expression
      sep - separator between part of statement
      close - closing bracket
      statement - rule for parsing a statement
  • Method Details

    • 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 interface GrammarMatcher
      Specified by:
      match in interface GrammaticalRuleI
      Parameters:
      it - iterator with tokens to parse
      parser - 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 method is called whenever components of the jep instance are changed.
      Specified by:
      init in interface GrammarMatcher
      Parameters:
      jep - the current jep instance.