解析用户定义的格式?

时间:2013-04-09 15:53:30

标签: c++ parsing boost

我喜欢Boost property_tree解析某些类型文件的方式。但我的文件有点不同

/*--------------------------------*- C++ -*----------------------------------*\
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW |
\*---------------------------------------------------------------------------*/
INFORMATION
{
    version     2.0;
    format      ascii;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

school
{
    "(boys|girls)"
    {
        hair red;
        legs short;
        nose long;
        mood good;
    }

    workers
    {
        hair green;
        legs long;
        nose abnormal;
        mood bad;
    }
}

// ************************************************************************* //

我希望它能以这种方式使用

string myMood = pt.get<std::string>("school.boys.mood");
cout<< "\tmyMood is = " << myMood << endl;

这非常简洁明了。

但目前似乎提升ptree INFO解析器无法处理评论和"(boys|girls)"类型。

任何解决方案?

0 个答案:

没有答案