Class TracingParseRunner<V>

    • Constructor Detail

      • TracingParseRunner

        public TracingParseRunner​(Rule rule)
        Creates a new TracingParseRunner instance without filter and a console log for the given rule.
        Parameters:
        rule - the parser rule
    • Method Detail

      • withFilter

        public TracingParseRunner<V> withFilter​(Predicate<?> filter)
        Attaches the given filter to this TracingParseRunner instance. The given filter is used to select the matchers to print tracing statements for. NOTE: The given filter must be of type Predicate, Boolean>>. The reason this type is not directly specified in the constructors signature is that this would make predicate expressions using the Predicates operations and the predefined predicate constructors in Filters much more cumbersome to write (due to Java limited type parameters inference logic you would have to explicitly state the type parameters in many places).
        Parameters:
        filter - the matcher filter selecting the matchers to print tracing statements for. Must be of type Predicate, Boolean>>.
        Returns:
        this instance
      • withLog

        public TracingParseRunner<V> withLog​(Sink<java.lang.String> log)
        Attaches the given log to this TracingParseRunner instance.
        Parameters:
        log - the log to use
        Returns:
        this instance
      • getLog

        public Sink<java.lang.String> getLog()
      • match

        public boolean match​(MatcherContext<?> context)
        Description copied from interface: MatchHandler
        Runs the given MatcherContext.
        Specified by:
        match in interface MatchHandler
        Parameters:
        context - the MatcherContext
        Returns:
        true if matched