[Devel-conf] Metalterator

Michael Shigorin mike на osdn.org.ua
Сб Апр 11 21:47:12 MSD 2009


On Sat, Apr 11, 2009 at 09:27:11PM +0400, Pavel Wolneykien wrote:
> Собственно, я и начал с написания парсера (а точнее набора макросов
> для описания парсеров для задач конфигурирования). После написания
> чернового варианта передо мной встала дилемма: либо разбирать весь
> конфиг, либо только "заранее оговорённые значения". В первом случае
> количество полей, кнопок и переключателей в интерфейсе пользователя
> "стремиться к бесконечности". Я подумал, что человек, который в
> состоянии справиться с таким интерфейсом (это не я :)) ) будет просто
> править файл squid.conf.

Ага.

> Да и написать и протестировать такой модуль будет очень сложно.

Конечно.

> Поэтому я избрал второй путь. Конфигуратор должен был работать
> так: попытаться прочитать те параметры, к которым он готов, а
> остальные закомментировать. Если неизвестные параметры не
> убирать, они ведь могут повлиять на поведение сервера.

Видите ли, какая штука: если не убирать -- _могут_ повлиять, но
вот если ремарить всё не глядя -- то в принципе есть шанс, что
не повлияет (если всё-всё было в дефолтах).

> Но когда всё было почти готово, меня, всё таки, отговорили от
> такой реализации модуля.

А кто, если не секрет, и чем мотивируя -- сложностью реализации?

> Однако, новый подход с БД не отменяет возможности использовать
> парсер: с помощью него можно по прежнему пытаться извлечь из
> конфига полезную информацию, а потом использовать её в новом
> конфиге (старый можно любезно сохранить).

Можно и так, но стоит иметь в виду привычку бывалых админов
комментировать значения и раздражаться, когда что-либо молча
превратило этот труд в кашу.  Это не теория, а из ругани едва
ли не десятилетней давности на всё тот же YaST.

> В качестве движка парсера я использовал lalr-scm. Модуль
> находится у меня в private. Если интересно, то могу выложить
> _это_ в public. :))

Наверное, стоит (хотя до лета мне к alterator-* добраться явно
не светит).

-- 
 ---- WBR, Michael Shigorin <mike at altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки devel-conf