Class RptOPImpl<P extends Pointer<?,​?,​P>,​T extends Tok<P>>

java.lang.Object
xyz.cofe.text.tparse.RptOPImpl<P,​T>
Type Parameters:
P - Указатель
T - Лексема/Токен
All Implemented Interfaces:
RptOP<P,​T>

public class RptOPImpl<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
extends java.lang.Object
implements RptOP<P,​T>
Правило повтора конструкции - т.е. соответ фигурным скобкам черте в грамматике BNF GR
  • Constructor Summary

    Constructors 
    Constructor Description
    RptOPImpl​(GR<P,​T> gr, int min, int max, boolean greedly)
    Конструктор
  • Method Summary

    Modifier and Type Method Description
    GR<P,​T> expression()
    Возвращает правило - шаблон
    boolean greedly()
    Возвращает тип захвата входной последовательности
    RptOP<P,​T> greedly​(boolean b)
    Указывает тип захвата входной последовательности
    <U extends Tok<P>>
    GR<P,​U>
    map​(java.util.function.Function<java.util.List<T>,​U> map)
    Отображение захваеченной последовательности токенов на результируещий токен
    int max()
    Возвращает кол-во максимальных повторов
    RptOP<P,​T> max​(int n)
    Указывает кол-во максимальных повторов
    int min()
    Возвращает количество минимальных повторов
    RptOP<P,​T> min​(int n)
    Указывает кол-во минимальных повторов

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RptOPImpl

      public RptOPImpl​(GR<P,​T> gr, int min, int max, boolean greedly)
      Конструктор
      Parameters:
      gr - правило - шаблон
      min - минимальное кол-во повтора шаблона
      max - максимальное кол-во повтора шаблона
      greedly - жадный или нет алгоритм захвата
  • Method Details

    • expression

      public GR<P,​T> expression()
      Description copied from interface: RptOP
      Возвращает правило - шаблон
      Specified by:
      expression in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Returns:
      правило - шаблон
    • min

      public int min()
      Description copied from interface: RptOP
      Возвращает количество минимальных повторов
      Specified by:
      min in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Returns:
      кол-во минимальных повторов, по умолчанию 1
    • min

      public RptOP<P,​T> min​(int n)
      Description copied from interface: RptOP
      Указывает кол-во минимальных повторов
      Specified by:
      min in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Parameters:
      n - кол-во минимальных повторов, по умолчанию 1
      Returns:
      Клон с новыми настройками
    • max

      public int max()
      Description copied from interface: RptOP
      Возвращает кол-во максимальных повторов
      Specified by:
      max in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Returns:
      кол-во максимальных повторов, 0 - без ограничения
    • max

      public RptOP<P,​T> max​(int n)
      Description copied from interface: RptOP
      Указывает кол-во максимальных повторов
      Specified by:
      max in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Parameters:
      n - кол-во максимальных повторов, 0 - без ограничения
      Returns:
      Клон с новыми настройками
    • greedly

      public boolean greedly()
      Description copied from interface: RptOP
      Возвращает тип захвата входной последовательности
      Specified by:
      greedly in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Returns:
      true - жадный (максимально возможное кол-во совпадений) / false - не жадный - минимальное необходимое
    • greedly

      public RptOP<P,​T> greedly​(boolean b)
      Description copied from interface: RptOP
      Указывает тип захвата входной последовательности
      Specified by:
      greedly in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Parameters:
      b - true - жадный (максимально возможное кол-во совпадений) / false - не жадный - минимальное необходимое
      Returns:
      Клон с новыми настройками
    • map

      public <U extends Tok<P>> GR<P,​U> map​(java.util.function.Function<java.util.List<T>,​U> map)
      Description copied from interface: RptOP
      Отображение захваеченной последовательности токенов на результируещий токен
      Specified by:
      map in interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
      Type Parameters:
      U - результирующий токен
      Parameters:
      map - функция отображения
      Returns:
      грамматическое правило