Class Alternatives<P extends Pointer,​T extends Tok<P>>

java.lang.Object
xyz.cofe.text.parse.Alternatives<P,​T>
All Implemented Interfaces:
java.util.function.Function<P,​T>

public class Alternatives<P extends Pointer,​T extends Tok<P>>
extends java.lang.Object
implements java.util.function.Function<P,​T>
Несколько альтернативных правил
  • Constructor Summary

    Constructors 
    Constructor Description
    Alternatives​(java.util.function.Function<P,​T>[] expressions)
    Конструктор
    Alternatives​(Alternatives<P,​T> sample)
    Конструктор копирования
  • Method Summary

    Modifier and Type Method Description
    T apply​(P tp)  
    <R extends T>
    Alternatives<P,​R>
    build​(java.util.function.BiFunction<P,​P,​R> fn)
    Указывает функцию для построения
    <R extends T>
    Alternatives<P,​R>
    build​(xyz.cofe.fn.Fn3<P,​P,​T,​R> fn)
    Указывает функцию для построения
    Alternatives<P,​T> clone()
    Клонирование
    xyz.cofe.fn.Fn3<P,​P,​? super T,​? extends T> getBuilder()
    Функция для создания лексемы
    java.util.function.Function<P,​T>[] getExpressions()
    Возвращает список возможных вариантов

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.util.function.Function

    andThen, compose
  • Constructor Details

    • Alternatives

      public Alternatives​(java.util.function.Function<P,​T>[] expressions)
      Конструктор
      Parameters:
      expressions - список возможных вариантов
    • Alternatives

      public Alternatives​(Alternatives<P,​T> sample)
      Конструктор копирования
      Parameters:
      sample - образец для копирования
  • Method Details

    • getExpressions

      public java.util.function.Function<P,​T>[] getExpressions()
      Возвращает список возможных вариантов
      Returns:
      варианты
    • clone

      public Alternatives<P,​T> clone()
      Клонирование
      Overrides:
      clone in class java.lang.Object
      Returns:
      клон
    • apply

      public T apply​(P tp)
      Specified by:
      apply in interface java.util.function.Function<P extends Pointer,​T extends Tok<P>>
    • build

      public <R extends T> Alternatives<P,​R> build​(java.util.function.BiFunction<P,​P,​R> fn)
      Указывает функцию для построения
      Type Parameters:
      R - возвращаемый тип лексемы
      Parameters:
      fn - функция для построени
      Returns:
      парсер
    • build

      public <R extends T> Alternatives<P,​R> build​(xyz.cofe.fn.Fn3<P,​P,​T,​R> fn)
      Указывает функцию для построения
      Type Parameters:
      R - возвращаемый тип лексемы
      Parameters:
      fn - функция для построени
      Returns:
      парсер
    • getBuilder

      public xyz.cofe.fn.Fn3<P,​P,​? super T,​? extends T> getBuilder()
      Функция для создания лексемы
      Returns:
      функция создатель лексемы