boost-spirit-qi

    3熱度

    1回答

    當我嘗試解析簡單帶引號的字符串時遇到了一些奇怪的事情。 所以我寫了這個簡單的解析器,可以成功解析帶引號的字符串,如"string"或""。 #include <iostream> #include "boost/spirit/include/qi.hpp" namespace qi = boost::spirit::qi; namespace iso8859 = boost::spiri

    3熱度

    2回答

    我在學習如何使用Boost.Spirit庫來解析字符串。這似乎是一個非常好的工具,但也很困難。所以,我想解析一個字符串,並用/分開一些單詞,並將它們放入一個字符串向量中。這裏是一個例子:word1/word2/word3。這是一個簡單的任務,我可以用下面的finction做到這一點: bool r = phrase_parse(first, last, (+~char_("/") % qi::li

    2熱度

    1回答

    我對精神齊相對比較陌生,並且試圖解析類似彙編語言。 例如,我想解析: Func Ident{ Mov name, "hello" Push 5 Exit } 到目前爲止,一切都很好。我可以正確解析它。 但是,錯誤處理程序有時會出現奇怪的錯誤位置。就拿下面的錯誤代碼: Func Ident{ Mov name "hello" ; <-- comma is

    3熱度

    3回答

    在解析過程中,我只需要在語義動作中設置一些屬性(因爲它們是從正在解析的數據派生的,並且我想避免使用global變量和依賴BOOST_FUSION_ADAPT_STRUCT以及我的代碼應該是通用的,以便我可以重用它的多種類型)。如果我使用多個傳入qi::phrase_parse的變量,我會得到非常長的編譯錯誤列表。我需要幫助嚴重:-) #define BOOST_RESULT_OF_USE_DECL

    2熱度

    1回答

    我是Spirit :: Qi的新手,我正在嘗試編寫一個簡單的Wavefront Obj解析器。我遵循了Boost :: Spirit文檔站點(link)的教程,並且我掌握了大部分內聯規則。我已經開始嘗試使用語法,但我似乎無法讓它們工作。一段時間後,我確實讓它編譯,但解析失敗。我真的不知道我做錯了什麼。 展開,取出簡單,我已經創建了一個包含以下內容的簡單的文本文件: v -1.5701 33.808

    4熱度

    1回答

    事情是,我做了一個對任務有用的語法,但現在 任務已經改變,我需要定義新的規則。 但我不希望修改語法我已經不是我會 想創建一個使用現有的語法我有沒有代碼 複製一個新的語法,所以我只需要定義新我需要的規則。我試過的東西 這樣,但不工作: struct New_grammar : Old_grammar<Iterator, Skipper> { New_grammar() : New_gr

    4熱度

    2回答

    我還有另一個與精靈氣的阻塞問題。 我已經在稱爲error_handler的函數結構中實現了錯誤處理。 這通過引用傳遞給語法構造器(請參閱Qi的MiniC示例)。 然後我有語法的構造函數定義on_error<fail> S: typedef boost::phoenix::function<error_handler<> > error_handler_function; on_error<fai

    2熱度

    1回答

    我已經寫了一些規則來解析花車成兩個的std :: vector的彩車,而這又是存儲在一個結構: 數據輸入: # # object name01 # v -1.5701 33.8087 0.3592 v -24.0119 0.0050 21.7439 # a comment vn 0.0000 0.5346 0.8451 vn 0.8331 0.5531 -0.0000 # an

    3熱度

    1回答

    我對Boost Spirit很新穎。理想情況下,我想用鳳凰來確保我的語法中有兩個值。我努力工作的一個虛擬版本將是一個元組,其中兩個int都是平等的。 我想要一串「14,14,測試」解析,但「14,12,測試」失敗,因爲14不等於12.我想要下面的代碼打印: Good: (14 14 test) Fail 目前兩個輸入端會通過,因爲我讓齊:: int_解析無任何檢查第二值。 #include

    10熱度

    1回答

    以下幾個教程(例如http://boost-spirit.com/home/articles/qi-example/nabialek-trick/)我想使用Nabialek技巧有一個動態解析器​​。解析已經正常工作,但我沒有得到傳輸的屬性。像https://stackoverflow.com/a/9109972/2524462這樣的解釋表明,該屬性應該是可能的,但不是爭論。 這只是一個小例子,將一