Class LexerUtil

java.lang.Object
xyz.cofe.text.lex.LexerUtil

public class LexerUtil
extends java.lang.Object
Лексер исползующий список анализоров тект. лексем
Author:
gocha
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.util.function.Predicate<java.lang.Character> isDigit
    Предикат - это цифра
    static java.util.function.Predicate<java.lang.Character> isLetter
    Предикат - это буква
  • Constructor Summary

    Constructors 
    Constructor Description
    LexerUtil()  
  • Method Summary

    Modifier and Type Method Description
    static java.util.function.Predicate<java.lang.Character>[] append​(java.util.function.Predicate<java.lang.Character>[] src, java.util.function.Predicate<java.lang.Character>... chr)
    Присоединяет к массиву еще массив предикатов
    static java.util.function.Predicate<java.lang.Character>[] array​(java.util.function.Predicate<java.lang.Character>... chr)  
    static java.util.List<Token> filter​(java.util.List<Token> toks, java.lang.Class... whiteSpaceTokens)
    Фильтрует токены в списке.
    static java.util.function.Predicate<java.lang.Character> isInList​(char... listOfChars)
    Создает предикат, символ находится в указанном списке
    static java.util.function.Predicate<java.lang.Character> isInList​(java.lang.String listOfChars)
    Создает предикат, символ находится в указанном списке
    static int isRepeat​(java.lang.String src, int offset, java.util.function.Predicate<java.lang.Character> charPred)
    Возвращает кол-во символов которые совпадают с предикатаом
    static char lookup​(java.lang.String str, int off, char nullc)
    Возвращает символ в указанной позиции текста
    static boolean match​(java.lang.String src, int offset, boolean ignoreCase, java.lang.String text)
    Проверяет текст на совпадение
    static boolean match​(java.lang.String src, int offset, java.util.function.Predicate<java.lang.Character>... charPreds)
    Проверяет последовательность символов в соответ с предикатами.
    Пример:
    Последовательность предикатов: letter, letter, digit
    Последовательность символов: AB123CD, проверит три символаи и в данном случаи вернте true.
    Последовательность символов: 1B123CD, проверит три символаи и в данном случаи вернте false.
    static java.util.function.Predicate<java.lang.Character> not​(java.util.function.Predicate<java.lang.Character> pred)  
    static java.util.function.Predicate<java.lang.Character> or​(java.util.function.Predicate<java.lang.Character>... p)
    Создает предикат ИЛИ

    Methods inherited from class java.lang.Object

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

    • isLetter

      public static final java.util.function.Predicate<java.lang.Character> isLetter
      Предикат - это буква
    • isDigit

      public static final java.util.function.Predicate<java.lang.Character> isDigit
      Предикат - это цифра
  • Constructor Details

  • Method Details

    • filter

      public static java.util.List<Token> filter​(java.util.List<Token> toks, java.lang.Class... whiteSpaceTokens)
      Фильтрует токены в списке.
      Parameters:
      toks - токены
      whiteSpaceTokens - список игнорируемых токенов
      Returns:
      Очищенный список
    • lookup

      public static char lookup​(java.lang.String str, int off, char nullc)
      Возвращает символ в указанной позиции текста
      Parameters:
      str - Исходный текст
      off - Смещение в тексте
      nullc - Возвращаемый символ если превышены границы текста
      Returns:
      Символ
    • isRepeat

      public static int isRepeat​(java.lang.String src, int offset, java.util.function.Predicate<java.lang.Character> charPred)
      Возвращает кол-во символов которые совпадают с предикатаом
      Parameters:
      src - текст
      offset - позиция проверяемого символа
      charPred - предикат проверки символа
      Returns:
      кол-во совпадений
    • match

      public static boolean match​(java.lang.String src, int offset, java.util.function.Predicate<java.lang.Character>... charPreds)
      Проверяет последовательность символов в соответ с предикатами.
      Пример:
      Последовательность предикатов: letter, letter, digit
      Последовательность символов: AB123CD, проверит три символаи и в данном случаи вернте true.
      Последовательность символов: 1B123CD, проверит три символаи и в данном случаи вернте false.
      Parameters:
      src - Последовательность символов
      offset - Смещение в последовательности символов (с какого начать, 0 - начало)
      charPreds - Последовательность предикатов
      Returns:
      true - совпало
    • match

      public static boolean match​(java.lang.String src, int offset, boolean ignoreCase, java.lang.String text)
      Проверяет текст на совпадение
      Parameters:
      text - Искомый текст
      src - Исходный текст
      offset - Смещение в исходном тексте
      ignoreCase - Игнорировать регистр букв
      Returns:
      true - Совпал; false - не совпал
    • array

      public static java.util.function.Predicate<java.lang.Character>[] array​(java.util.function.Predicate<java.lang.Character>... chr)
    • append

      public static java.util.function.Predicate<java.lang.Character>[] append​(java.util.function.Predicate<java.lang.Character>[] src, java.util.function.Predicate<java.lang.Character>... chr)
      Присоединяет к массиву еще массив предикатов
      Parameters:
      src - Исходный массив
      chr - Присоединяемый массив
      Returns:
      Склееный массив
    • not

      public static final java.util.function.Predicate<java.lang.Character> not​(java.util.function.Predicate<java.lang.Character> pred)
    • isInList

      public static java.util.function.Predicate<java.lang.Character> isInList​(java.lang.String listOfChars)
      Создает предикат, символ находится в указанном списке
      Parameters:
      listOfChars - Список символов
      Returns:
      Предикат
    • isInList

      public static java.util.function.Predicate<java.lang.Character> isInList​(char... listOfChars)
      Создает предикат, символ находится в указанном списке
      Parameters:
      listOfChars - Список символов
      Returns:
      Предикаты
    • or

      public static java.util.function.Predicate<java.lang.Character> or​(java.util.function.Predicate<java.lang.Character>... p)
      Создает предикат ИЛИ
      Parameters:
      p - Список предикатов
      Returns:
      Предикаты