![]() |
![]() |
|
|
Пример использования библиотеки boost::spirit
Аннотация
Задачи лексического, синтаксического и семантического анализа часто встречаются в
повседневной практике разработчика программного обеспечения. Чаще всего в качестве
входного потока выступает обычный символьный поток. Типичный пример подобного рода
задачи - разбор файла настроек для какого-либо программного модуля. Такие задачи
обычно решаются с помощью инструментария подобного flex и yacc. Однако для C++
существует более изящное решение. Библиотека boost::spirit позволяет существенно
облегчить упомянутые этапы анализа, предлагая при этом компактную и ясную запись,
легкую для внесения последующих изменений.
Код транслятора и виртуальной машины тестировался с gcc 3.4.2 и boost 1.33.0 для Linux. Скорее всего будет работать без изменений и на других платформах, поддерживаемых boost.
|
|
Last Updated: November 24, 2005 |