簡體   English   中英

boost :: spirit-從隨機放置的條目中解析AST樣式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM