Предыдущие версии
Название | Размер | Обновлено | Версия игры | Загрузок | |
0.2 release | 6.02 KB | Jul 23, 2016 | 7.0.3 | 90 | ![]() |
0.1 release | 5.91 KB | Jul 23, 2016 | 7.0.3 | 38 | ![]() |
r33 alpha | 7.21 KB | Jul 23, 2016 | 7.0.3 | 32 | ![]() |
r32 alpha | 7.21 KB | Jul 23, 2016 | 7.0.3 | 33 | ![]() |
r29 alpha | 7.19 KB | Jul 3, 2013 | 5.3.0 | 38 | ![]() |
r27 alpha | 7.03 KB | Jun 26, 2013 | 5.3.0 | 44 | ![]() |
r24 alpha | 7.41 KB | Jun 25, 2013 | 5.3.0 | 34 | ![]() |
r13 alpha | 3.12 KB | Jun 19, 2013 | 5.3.0 | 30 | ![]() |
Описание
Это токенизатор для языка Lua. Я поставил его как библиотеку, чтобы другие могли извлечь выгоду из моей странной любви к созданию низкоуровневого кода. Он написан для запуска в стандартном (CLI) Lua 5.1, а также WoW Lua.
Библиотека еще не полностью функциональна,но я считаю «API» стабильным и сам токенизатор тоже. Существует пример парсера, который выводит HTML в тестовую
папку, и некоторые примеры WoW Lua parser будут следовать или будут доступны в аддоне GreaseGoblin.
ИНТЕРФЕЙС ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ
LuaTokenizer:Tokenize(…)
'array = LuaTokenizer:Tokenize(string [, transform_callback])`
Разбивает строку, строку
, звонки transform_callback
для каждого маркера, и возвращает массив, содержащий все значения, возвращаемые из функции обратного вызова. Если обратный вызов не задан, используется обратный вызов по умолчанию, который возвращает все аргументы в виде массива.
transform_callback(…)
смешанный = transform_callback(знак, значение, линия старта, линия-концов, шар-старт, чар-концов ...)
Обратный вызов вызывается для каждого токена, сгенерированного Tokenize
, и, как ожидается, вернет значение, представляющее токен для вашего приложения. Это может быть любое значение, токенизатор это никак не ограничивает. Обратите внимание, что возврат nil
не создаст запись в массиве, возвращаемом Tokenize
.
Аргументы:
значение
содержит исходную строку, представляющую токен. Еслитокен
не является символическим именем, то это значение совпадает стокеном
токен
имя токена. Это может быть символическое имя"ошибка"
,"перевод строки"
,"MLSTRING"
,"комментарий"
,"ключевое слово"
,"ИД"
,"HEXNUM"
,"число"
или"строка"
. В этом случаезначение
будет содержать фактическую исходную строку этого токена.line-start
— это строка, в которой начинается токен [NYI]линии
— это линия, где знак заканчиваетсяcharacter-start
— это символ (отсчет от начала строки), с которого начинается токен [NYI]character-end
— это символ (отсчет от начала строки), на котором заканчивается токен [NYT]..
Дополнительные параметры: для «STRING» это будет содержать разделитель строк ("
or'
), а для «MLSTRING» это будет содержатьзнаки=, если открывающая последовательность только
[[
это пустая строка (не ноль!).
Добавить комментарий