boost-spirit-qi

    2熱度

    1回答

    我要解析如下一段文字 Camera { position 0 0 0 direction 0 -1 0 up 0 1 0 FOVy 45 } 我的選擇升壓去:精神,因爲我沒有處理彎曲或野牛。 我終於有了這個語法 struct camera_grammar : qi::grammar<Iterator, camera(), ascii::space_ty

    5熱度

    1回答

    我想解析一些句子,其中一些字符串可能不加引號,引用引號或引用引號。下面的代碼幾乎可以工作 - 但它不能匹配收盤報價。我猜這是因爲qq參考。在代碼中對修改進行了註釋,「引用」或「引用」中的修改重新解析也有助於顯示原始問題與結束引用。該代碼還描述了確切的語法。 要完全清楚:未加引號的字符串解析。像'hello'這樣的引用字符串將解析開放報價',所有字符hello,但後來未能解析最終報價'。 我做了另一

    6熱度

    1回答

    以下代碼是我想要做的簡化版本。基本上,我有一個容器數據成員struct(int_holder在玩具代碼中)。我想插入一個對象(在這種情況下是int)並返回父qi :: rule指向新插入的對象的指針。 我通過引用將int_holder傳遞給語法,以便在解析時用值填充它,因此int_holder將是語法的繼承屬性。代碼: #include <boost/spirit/include/qi.hpp>

    7熱度

    3回答

    我在努力學習boost::spirit。作爲一個例子,我試圖將一系列的單詞解析成一個vector<string>。我嘗試這樣做: #include <boost/spirit/include/qi.hpp> #include <boost/foreach.hpp> namespace qi = boost::spirit::qi; int main() { std::vect

    8熱度

    1回答

    我已成功使用boost::spirit::qi解析由內置解析器組成的流(例如byte_,little_word等)。但是,我現在需要解析不完整地屬於這些類別之一的數據。例如,我想將16.16定點二進制數轉換爲雙精度;例如因此little_word << little_16p16會解析uint16_t後跟double(從定點數解析)。 我首先考慮了語義動作,但是(我認爲...)他們不合適,因爲他們不

    1熱度

    1回答

    我不是很確定爲什麼下面的代碼在GCC 4.6.3中給我下面的錯誤: ' operator ='in'boost :: spirit :: _ a = boost :: phoenix :: function :: operator()(const A0 &)const [with A0 = boost :: phoenix :: actor>,F = make_line_impl,typename

    4熱度

    2回答

    我正在學習boost::spirit,我試圖讀取和解析一些結構的文本。 例如,"2: 4.6"在被解析爲INT 2和雙4.6我TestStruct如下: #include <iostream> #include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/support_istream_iterator.hpp>

    2熱度

    1回答

    我試過使用boost語義操作。在我的情況下,boost::bind是最簡單的解決方案。第一個例子很好,這裏我只用一個參數進行語義操作。 #include <boost/config/warning_disable.hpp> #include <boost/spirit/include/qi.hpp> #include <boost/bind.hpp> #include <iostream>

    1熱度

    1回答

    在我的語法中,我需要很多(超過10個)屬性佔位符。我嘗試定義BOOST_PHOENIX_ARG_LIMIT變量,如documentation中的建議,但它沒有效果。如果有人知道,請告訴我怎麼做。版本增強是1.48.0,編譯器是MinGW GCC 4.4.0。

    2熱度

    1回答

    我在編寫使用另一個Qi語法的Qi語法時遇到了困難。一個類似的問題被問到here,但我也試圖使用phoenix ::構造和編譯困難。 下面是我試圖做的簡化版本。我意識到這個例子可能很容易使用BOOST_FUSION_ADAPT_STRUCT完成,但我的實際代碼處理更復雜的對象類型,所以我希望有一種方法可以使用語義操作來完成此操作。 #include <boost/spirit/include/qi.