3.2 KiB
3.2 KiB
AGPascalTokenizer
Библиотека токенайзер для Delphi/FPC. Основана на работе PyPascalTokenizer Артёма Гаврилова.
API
TAGToken
TAGToken это тип record из:
- Text:
stringс текстом токена. - &begin:
TAGTokenizerPosсо стартовой позицией токена. - &end:
TAGTokenizerPosс конечной позицией токена. - ended:
booleanИстина, если это был постедний токен.
Имеет конструктор Create с перечисленными переменными.
TAGTokenizerPos
тип record, сохраняет позицию в формате:
- x:
integerначало зависит от платформы (NEXTGEN), индекс символа в строке. - y:
integerначало с 0, номер строки.
Class TAGPasTokenizer
Главный класс токенайзера.
- get_next(): функция, возвращает
TAGToken. Возвращает следующий токен и изменяет позицию. - pos:
TAGTokenizerPosсвойство, содержит позицию где токенайзер . - is_ended:
booleanсвойство, проверка что текст закончился.
Имеет конструктор Create с параметром input: TStrings.
Class TAGPasTokenizerStack
Стек из токенов автоматически заполняется из input'а.
- Push(t:
TAGToken) кладёт токен в стек. - Pop():
TAGTokenдостать токен из стека. - Last:
TAGTokenсвойство, выдающееся вершина стека. - is_ended:
booleanсвойство, проверка конца текста.
Имеет конструктор Create с параметрами input: TStrings и GetComments: boolean=True.
Class TAGPasTokenizerParallelStack
Стек из токенов автоматически заполняется из input'а(во втором потоке).
- Push(t:
TAGToken) кладёт токен в стек. - Pop():
TAGTokenдостать токен из стека. - Last:
TAGTokenсвойство, выдающееся вершина стека. - ended:
booleanсвойство, проверка конца текста.
Имеет конструктор Create с параметрами input: TStrings, GetComments: boolean=True и stackMax:integer=1000.
Утилиты
Вспомогательные функции для анализа текста.
- IsName(s:
string):booleanПроверка что идентификатор правильный. - IsComment(s:
string):booleanПроверка что комментарий правильный. - IsString(s:
string):booleanПроверка что это строковое значение.