Как написать парсер для файла конфигурации в Python - PullRequest
1 голос
/ 27 февраля 2012

У меня есть нестандартный файл конфигурации, для которого я хочу написать анализатор Python.

Каков наилучший подход к написанию анализатора с нуля?

Пример файла конфигурации:

// Comment 
conf OPTION_NAME {
     (
       ( option1:"string"
         option2:"14"
       )
     )
}


// Comment2 
conf OPTION_NAME2 {
     (
       ( option1:"string2"
         option2:"15"
       )
     )
}

1 Ответ

1 голос
/ 27 февраля 2012

Я бы лично использовал PLY: http://www.dabeaz.com/ply/

Вот простой пример:

http://www.dabeaz.com/ply/example.html

Вот пример из одного из моих собственных проектов:

https://github.com/fogleman/FeedNotifier/blob/master/filters.py

В качестве альтернативы, поскольку файлы выглядят очень просто, я мог бы просто использовать Finite State Machine ручной работы для выполнения анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...