Interface Term<S>

All Known Implementing Classes:
Dictionary.Reference, StringReaderTerms.TerminalCharacters, StringReaderTerms.TerminalWord, Term.Alternative, Term.LookAhead, Term.Marker, Term.Maybe, Term.Repeated, Term.RepeatedWithSeparator, Term.Sequence

public interface Term<S>
  • Method Details

    • parse

      boolean parse(ParseState<S> state, Scope scope, Control control)
    • marker

      static <S,T> Term<S> marker(Atom<T> name, T value)
    • sequence

      @SafeVarargs static <S> Term<S> sequence(Term<S>... terms)
    • alternative

      @SafeVarargs static <S> Term<S> alternative(Term<S>... terms)
    • optional

      static <S> Term<S> optional(Term<S> term)
    • repeated

      static <S,T> Term<S> repeated(NamedRule<S,T> element, Atom<List<T>> listName)
    • repeated

      static <S,T> Term<S> repeated(NamedRule<S,T> element, Atom<List<T>> listName, int minRepetitions)
    • repeatedWithTrailingSeparator

      static <S,T> Term<S> repeatedWithTrailingSeparator(NamedRule<S,T> element, Atom<List<T>> listName, Term<S> separator)
    • repeatedWithTrailingSeparator

      static <S,T> Term<S> repeatedWithTrailingSeparator(NamedRule<S,T> element, Atom<List<T>> listName, Term<S> separator, int minRepetitions)
    • repeatedWithoutTrailingSeparator

      static <S,T> Term<S> repeatedWithoutTrailingSeparator(NamedRule<S,T> element, Atom<List<T>> listName, Term<S> separator)
    • repeatedWithoutTrailingSeparator

      static <S,T> Term<S> repeatedWithoutTrailingSeparator(NamedRule<S,T> element, Atom<List<T>> listName, Term<S> separator, int minRepetitions)
    • positiveLookahead

      static <S> Term<S> positiveLookahead(Term<S> term)
    • negativeLookahead

      static <S> Term<S> negativeLookahead(Term<S> term)
    • cut

      static <S> Term<S> cut()
    • empty

      static <S> Term<S> empty()
    • fail

      static <S> Term<S> fail(Object message)