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

java.lang.Object
xyz.cofe.text.tparse.Tokenizer<P,​T>
Type Parameters:
P - Тип указателя
T - Тип токенов
All Implemented Interfaces:
java.lang.Iterable<T>, xyz.cofe.iter.Eterable<T>

public class Tokenizer<P extends Pointer<?,​?,​P>,​T extends Tok<P>>
extends java.lang.Object
implements xyz.cofe.iter.Eterable<T>
Итератор - преобразователь входной цепочки символов в токены
  • Constructor Summary

    Constructors 
    Constructor Description
    Tokenizer​(P initial, java.lang.Iterable<GR<P,​T>> rules)
    Конструктор
  • Method Summary

    Modifier and Type Method Description
    TokensIterator<P,​T> iterator()
    Возвращает итератор по токенам
    static Tokenizer<CharPointer,​CToken> lexer​(java.lang.String source, int from, java.lang.Iterable<GR<CharPointer,​? extends CToken>> rules)
    Создает лексический анализатор
    static Tokenizer<CharPointer,​? extends CToken> lexer​(java.lang.String source, int from, GR<CharPointer,​? extends CToken>... rules)
    Создает лексический анализатор
    static Tokenizer<CharPointer,​CToken> lexer​(java.lang.String source, java.lang.Iterable<GR<CharPointer,​? extends CToken>> rules)
    Создает лексический анализатор
    static Tokenizer<CharPointer,​? extends CToken> lexer​(java.lang.String source, GR<CharPointer,​? extends CToken>... rules)
    Создает лексический анализатор

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface xyz.cofe.iter.Eterable

    count, filter, first, limit, map, notNull, product, product, product, product, product, reduce, toList, union, union

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • Tokenizer

      public Tokenizer​(P initial, java.lang.Iterable<GR<P,​T>> rules)
      Конструктор
      Parameters:
      initial - начальный указатель
      rules - Грамматический правила
  • Method Details

    • iterator

      public TokensIterator<P,​T> iterator()
      Возвращает итератор по токенам
      Specified by:
      iterator in interface java.lang.Iterable<P extends Pointer<?,​?,​P>>
      Returns:
      итератор по токенам
    • lexer

      public static Tokenizer<CharPointer,​CToken> lexer​(java.lang.String source, java.lang.Iterable<GR<CharPointer,​? extends CToken>> rules)
      Создает лексический анализатор
      Parameters:
      source - исходный текст
      rules - грамматические правила
      Returns:
      Итератор по токенам
    • lexer

      public static Tokenizer<CharPointer,​CToken> lexer​(java.lang.String source, int from, java.lang.Iterable<GR<CharPointer,​? extends CToken>> rules)
      Создает лексический анализатор
      Parameters:
      source - исходный текст
      from - с какой позиции (от 0 и больше) в исходном тексте начать анализ
      rules - грамматические правила
      Returns:
      Итератор по токенам
    • lexer

      public static Tokenizer<CharPointer,​? extends CToken> lexer​(java.lang.String source, GR<CharPointer,​? extends CToken>... rules)
      Создает лексический анализатор
      Parameters:
      source - исходный текст
      rules - грамматические правила
      Returns:
      Итератор по токенам
    • lexer

      public static Tokenizer<CharPointer,​? extends CToken> lexer​(java.lang.String source, int from, GR<CharPointer,​? extends CToken>... rules)
      Создает лексический анализатор
      Parameters:
      source - исходный текст
      from - с какой позиции (от 0 и больше) в исходном тексте начать анализ
      rules - грамматические правила
      Returns:
      Итератор по токенам