[英]boost::spirit - parsing AST style from randomly placed entries
我的文件中有以下數據:
#TITLE:Destiny;
#SUBTITLE:;
#ARTIST:Smiley;
#BACKGROUND:bg.png;
#SAMPLESTART:43.960;
#SAMPLELENGTH:12.000;
我想使用AST將其解析為這樣的結構:
struct data {
std::string title, subtitle, artist, background;
double samplestart, samplelength;
};
注意:文件中的條目可能以任何順序出現。
我在想這樣的事情:
struct prs : qi::symbols< char, qi::parser<...> > {
prs() {
add
("TITLE", link_to_some_str_parser)
("SAMPLESTART", link_to_some_dbl_parser);
}
};
然后,使用[]語法將解析的結果存儲到某個變量中,然后使用它在運行時到達正確的解析器。
現在是主要問題。 會編譯嗎? qi :: symbols可以這樣使用嗎,那有意義嗎? 否則您將如何做?
謝謝! 亞歷克斯
我建議利用置換解析器(請參閱此處 ),該解析器允許按任何順序匹配一堆替代項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.