Class FunctionGrammarMatcher

  • All Implemented Interfaces:
    GrammarMatcher, java.io.Serializable

    public class FunctionGrammarMatcher
    extends java.lang.Object
    implements GrammarMatcher
    A GrammarMatcher which matches functions in the form 'atan2(y,x)'. The function must be in the FunctionTable and brackets are required.
    See Also:
    Serialized Form
    • Constructor Detail

      • FunctionGrammarMatcher

        public FunctionGrammarMatcher​(Token open,
                                      Token close,
                                      Token comma)
        Create a FunctionGrammarMatcher
        Parameters:
        open - token representing an opening bracket
        close - token representing a closing bracket
        comma - token representing a list item separator
    • Method Detail

      • 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 interface GrammarMatcher
        Parameters:
        jep - the current jep instance.
      • errorToken

        protected Token errorToken​(Lookahead2Iterator<Token> it)
        Generate a token to use in GrammarExecptions
        Parameters:
        it - used to get current position
        Returns:
        a TerminatorToken
      • match

        public Node match​(Lookahead2Iterator<Token> it,
                          GrammarParser parser)
                   throws ParseException
        Attempt to match a function, calls the GrammarParser.parseSubExpression() to match function arguments.
        Specified by:
        match in interface GrammarMatcher
        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.