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

java.lang.Object
xyz.cofe.text.parse.Sequence<P,​T>
Type Parameters:
T - лексема
All Implemented Interfaces:
java.util.function.Function<P,​T>

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

    Constructors 
    Constructor Description
    Sequence​(java.util.function.Function<P,​T>[] expressions, xyz.cofe.fn.Fn3<P,​P,​Arr<T>,​T> builder)
    Конструктор
  • Method Summary

    Modifier and Type Method Description
    T apply​(P ptr)  
    <R extends T>
    Sequence<P,​R>
    build​(xyz.cofe.fn.Fn2<P,​P,​R> fn)
    Указывает функцию для построения
    <R extends T>
    Sequence<P,​R>
    build​(xyz.cofe.fn.Fn3<P,​P,​Arr<R>,​R> fn)
    Указывает функцию для построения
    xyz.cofe.fn.Fn3<P,​P,​Arr<T>,​T> getBuilder()
    Функция для создания лексемы
    java.util.function.Function<P,​T>[] getExpressions()
    Возвращает воследовательность правил

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface java.util.function.Function

    andThen, compose
  • Constructor Details

    • Sequence

      public Sequence​(java.util.function.Function<P,​T>[] expressions, xyz.cofe.fn.Fn3<P,​P,​Arr<T>,​T> builder)
      Конструктор
      Parameters:
      expressions - последовательность правил
      builder - функция которая строит токен
  • Method Details

    • getExpressions

      public java.util.function.Function<P,​T>[] getExpressions()
      Возвращает воследовательность правил
      Returns:
      последовательность
    • apply

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

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

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

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