Class JavaIfRule

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

public class JavaIfRule extends Object implements GrammaticalRuleI
Parse a java style if statement: if(expr) statement [ else statement ]
 <JavaInRule> ::=
   || <if> <open> <expression> <close> <statement>
   || <if> <open> <expression> <close> <statement> <else> <statement> 
 
Author:
Richard Morris
See Also:
  • Constructor Details

    • JavaIfRule

      public JavaIfRule(SymbolToken ifToken, SymbolToken open, GrammaticalRuleI expression, SymbolToken close, GrammaticalRuleI statement, SymbolToken elseToken)
      Parameters:
      ifToken - token representing "if"
      open - opening bracket
      expression - rule for parsing expressions
      close - closing bracket
      statement - rule for parsing statements
      elseToken - token representing "else"
  • Method Details

    • 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.
    • 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