Вопрос

Есть ли эквивалент Lua для Python? шлекс библиотека?

Это было полезно?

Решение

Я нашел ссылку на проект под названием LuaParse:

LuaParse включает в себя Blex, лексер общего назначения на чистом Lua, и lparse, парсер на чистом Lua Lua, а также множество служебных функций и прототип системы управления пакетами.

Возможно, это удовлетворит ваши потребности.

Другие советы

Смотрите также LPeg.

Если цель состоит в том, чтобы проанализировать язык, подобный оболочке (что, по-видимому, является фактической целью разработки shlex), то написание грамматики на LPeg как лхф предлагает вероятно, это правильный ответ.Однако не так-то просто написать грамматику, которая полностью реализует мешанину правил многоуровневого цитирования, которым на самом деле следуют оболочки.Пока вы не ожидаете правильного анализа всех допустимых /bin/sh (или хуже, csh) скриптов, написать полезную грамматику должно быть несложно.

Если цель на самом деле состоит в том, чтобы создать разумный «маленький язык» для файлов конфигурации или сценариев приложений, то я бы предположил, что сам Lua уже очень близок к этому языку.Первоначально он был разработан с учетом описания данных, и его синтаксический анализатор вполне способен обрабатывать даже довольно большие объявления данных.Видеть раздел 10.1 ПиЛ для примера того, как использовать Lua таким образом.Позже глава 25 описывает интеграцию Lua с более крупным приложением для конкретного варианта использования конфигурации и демонстрирует ряд подходов.

Смотрите также gg, mlp и clopts модули из Металуа.

Это «не совсем» Lua (поскольку Metalua — отдельный язык), но он может дать некоторую полезную информацию.Кроме того, код Metalua компилируется в простой байт-код Lua, поэтому его можно использовать повторно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top