Package com.singularsys.jep.configurableparser.matchers

# Interface GrammarMatcher

All Superinterfaces:
  `Serializable`

All Known Implementing Classes:
  `AlternateFunctionGrammerMatcher`, `ArrayAccessGrammarMatcher`, `BracketedSequenceGrammarMatcher`, `DictionaryGrammarMatcher`, `FunctionGrammarMatcher`, `FunctionSequenceGrammarMatcher`, `JccArrayAccessGrammarMatcher`, `ListGrammarMatcher`, `ListOrBracketGrammarMatcher`, `ListOrRangeGrammarMatcher`, `OperatorAsFunctionGrammarMatcher`, `RoundBracketGrammarMatcher`, `SingleArgFunctionMatcher`

public interface GrammarMatcher extends Serializable
Interface defining matchers for custom grammatical elements. GrammarMatchers match syntax elements at the same precedence level as brackets they can examine the next two tokens in the input using the `Lookahead2Iterator` and call the `GrammarParser.parseSubExpression()` to parse expression fragments.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `init(Jep jep)`
  Delayed initialisation, this method is called whenever components of the jep instance are changed.
  `Node`
  `match(Lookahead2Iterator<Token> it, GrammarParser parser)`
  Test whether the input matches this pattern.

- ## Method Details

  - ### match

    Node match(Lookahead2Iterator<Token> it, GrammarParser parser) throws ParseException
    Test whether the input matches this pattern.
    Parameters:
      `it` - An iterator inspecting the input
      `parser` - the parser to use when evaluating sub expressions
    Returns:
      if matched returns a node representing the content, return null is does not match
    Throws:
      `ParseException` - if there is a syntactical error in the input.

  - ### init

    void init(Jep jep)
    Delayed initialisation, this method is called whenever components of the jep instance are changed.
    Parameters:
      `jep` - the current jep instance.