Interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>

Type Parameters:
P - Указатель
T - Лексема/Токен
All Known Implementing Classes:
RptOPImpl

public interface RptOP<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
Правило повтора конструкции - т.е. соответ фигурным скобкам черте в грамматике BNF GR
  • 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)
    Указывает кол-во минимальных повторов
  • Method Details

    • expression

      GR<P,​T> expression()
      Возвращает правило - шаблон
      Returns:
      правило - шаблон
    • min

      int min()
      Возвращает количество минимальных повторов
      Returns:
      кол-во минимальных повторов, по умолчанию 1
    • min

      RptOP<P,​T> min​(int n)
      Указывает кол-во минимальных повторов
      Parameters:
      n - кол-во минимальных повторов, по умолчанию 1
      Returns:
      Клон с новыми настройками
    • max

      int max()
      Возвращает кол-во максимальных повторов
      Returns:
      кол-во максимальных повторов, 0 - без ограничения
    • max

      RptOP<P,​T> max​(int n)
      Указывает кол-во максимальных повторов
      Parameters:
      n - кол-во максимальных повторов, 0 - без ограничения
      Returns:
      Клон с новыми настройками
    • greedly

      boolean greedly()
      Возвращает тип захвата входной последовательности
      Returns:
      true - жадный (максимально возможное кол-во совпадений) / false - не жадный - минимальное необходимое
    • greedly

      RptOP<P,​T> greedly​(boolean b)
      Указывает тип захвата входной последовательности
      Parameters:
      b - true - жадный (максимально возможное кол-во совпадений) / false - не жадный - минимальное необходимое
      Returns:
      Клон с новыми настройками
    • map

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