LINUX.ORG.RU

Работа с конфигами..


0

0
Может знатоки чего порекомендуют:

Необходимо читать/писать конфигурационный файл в формате [секция1] ключ1 = значение1 ... [секция n] ключ n = значение n

Я посмотрел пару программ (XMMS, Sylpheed и еще чего-то там), так там используются самодельные парсеры. Может есть какая-нибудь стандартная либа?

P.S. Заранее благодарен за ответы 8)


ИМХО, "стандартная задачка" по курсу трансляторов. С помощью регулярных выражений делаешь лексический анализатор, затем строишь синтаксический. А в качестве готового решения могу посоветовать хранить в XML формате и разгребать например с помощью expat
PETER ★★
()
проще самому написать чем будешь искать ..
lg ★★
()
Ну хранить конфиг примитивной программульки это, на мой взгляд, порядочное извращение 8). Смущает то, что задачка в общем-то типичная, неужели нет более-менее стандартного решения?
syomin
() автор топика
В смысле "хранить в xml" 8)
syomin
() автор топика
Для примитива и подход примитивней: a) передавть данные через ключи б) пишешь шеловый скрипт, в котором экспортируешь переменные со значениями и запускаешь из него прогу, а прога затем разбирает эти переменные.
PETER ★★
()
>>Необходимо читать/писать конфигурационный файл в формате
>>[секция1] ключ1 = значение1 ... [секция n] ключ n = значение n
В PHP подобная хрень делается одной функцией parse_ini_file(filename)
(примерно так называется , но параметры точно не помню)
Если сильно в лом писать свой парсер - скомпили ПХП в бинарник и запускай ПХП скрипты.:)))
joker
()
Ну приделывать PHP к той примитивщине, что я пишу, это слишком 8).

qt не подходит по весьма прозаической причине - прога под Gtk+, однако за ссылку спасибо - я подозревал, что в qt такая фенька есть 8)

За config_api спасибо - обязательно вечером посмотрю.

P.S. Всем ответившим спасибо, однако может кто чего добавит? 8)

syomin
() автор топика
FreshMeat Вам поможет. Да прибудет с Вами... Эээ... Чет я заболтался %)
Nefer
()
Для разбора можно воспользоваться lex-ом. Быстро описывается несложный синтаксис.
anonymous
()
дык береш сорс КуТевый и вперед.
anonymous
()
> дык береш сорс КуТевый и вперед.
Быстрее "с нуля" написать 8). Просто странно, что зада вроде бы типичная, а вот стандартного решения нет...
syomin
() автор топика
Так lex+yacc (aka flex+bison) это и есть стандартное решение подобных задач. An XML parser -- это еще одно стандартное решение.
aa5779
()
Можешь взять liblua. Тогда у тебя можно будет делать навороченные конфиги, с функциями и т.д.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.