Class CharAlternatives<T extends Token>

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

public class CharAlternatives<T extends Token>
extends java.lang.Object
implements java.util.function.Function<CharPointer,​Token>
Несколько альтернативных правил
  • Constructor Details

    • CharAlternatives

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

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

    • getExpressions

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

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

      public T apply​(CharPointer tp)
      Specified by:
      apply in interface java.util.function.Function<CharPointer,​Token>
    • build

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

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

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