Я как раз читал вводную часть фреймворка Boost :: Spirit LL Parser. В предисловии говорится, что автор и создатель любят использовать такую технологию синтаксического анализа для чтения в параметрах программы. У Boost нет собственной библиотеки для программных опций?
Мне интересно, проверяет ли комитет Boost все заметки библиотеки на предмет общих тем и стилей? Кажется, что документация для каждой библиотеки имеет свой вкус.
Небольшая претензия к удивительному программному обеспечению, мне это показалось просто любопытным.





Вы правы, не все библиотеки Boost особенно похожи на Boost. Дух - очень хороший тому пример. Отчасти причина в том, что, когда он был принят, другие библиотеки ускорения еще не были приняты / достаточно зрелы, чтобы Spirit мог их использовать. (Вот почему есть что-то вроде трех библиотек Boost, которые определяют свои собственный (несовместимые) значения-заполнители _1, _2 и так далее).
Я считаю, что в большинстве этих случаев они постепенно работают над тем, чтобы снова объединить эти странности. Но, черт возьми, Spirit был добавлен, потому что это была такая большая и впечатляющая вещь, что это "неусиление" было прощено. ;)
Нет такой вещи, как комитет по стилю Boost. WG21 ISO потратит немного больше времени на общий стиль, но даже им удалось забыть std :: ifstream :: ifstream ((std :: string const & filename)
Spirit in Boost может однажды стать Boost в духе :-)
Просто Spirit существовал до библиотеки Boost.Program-Options. Теперь я всегда использую Boost.Program-Options вместо того, чтобы вручную раскатывать с помощью Spirit.
Как сказал Джоэл, у нас не было параметров программы, когда родился Дух. Мы с Хартмутом Кайзером (оба разработчики Spirit) используем Program-Options на работе вместо того, чтобы развертывать собственный синтаксический анализатор Spirit. Program-Options делает гораздо больше, чем просто синтаксический анализ, и, по крайней мере, для наших нужд, производительность нашего синтаксического анализа командной строки не важна. Для критического анализа производительности я бы определенно использовал Spirit.