qi

    2熱度

    1回答

    假設我們有一個正則表達式「start :(?:([0-9] {1,2}))?([0-9]。*)」。 它將匹配 std::string string1 = "start: 01 0ab"; 和 std::string string2 = "start: 0ab"; 我們也可以分別得到2匹配的字符串。 我嘗試使用boost :: spirit :: qi解析器來解析string2,但它無法匹配

    2熱度

    1回答

    我可能會問一個非常微不足道的問題,但我的腦子裏並沒有阻塞它來破解它。 試圖解析像where子句如下所示,使用boost ::精神::氣生成對 std::string input = "book.author_id = '1234' and book.isbn = 'xy99' and book.type = 'abc' and book.lang = 'Eng'" 我已經通過以下線程消失的載體

    2熱度

    1回答

    使用助推精神,我想提取一個字符串,其後是一些數據在括號中。相關字符串由左括號中的空格分隔。不幸的是,字符串本身可能包含空格。我正在尋找一個簡潔的解決方案,它返回沒有尾隨空格的字符串。 下面的代碼說明了此問題: #include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/phoenix_operator.hpp> #

    1熱度

    1回答

    我嘗試寫一個語法解析的語法如下: // - command // - command value0 ... valueN // - command -arg0 ... -argN // - command -arg0 value0 ... valueN ... -argN value0 ... valueN 每個元素應被解釋爲一個字符串 在一個字符串的所有符號被允許 之間的命令,參數和值

    2熱度

    1回答

    我是新來的精神和一般的提升。我試圖解析類似如下的VRML文件的一部分: point [ #coordinates written in meters. -3.425386e-001 -1.681608e-001 0.000000e+000, -3.425386e-001 -1.642545e-001 0.000000e+000,

    2熱度

    1回答

    我想分析下述JSON並從中提取productionYear值 auto data = { "cars" : [ { "name" : "BMW", "engine" : 3.0 }, { "name" : "Citroen", "engine" : 3.6 },

    3熱度

    2回答

    我正在考慮根據W3C的XML 1.1規範使用編譯器生成器來實現XML轉換程序,該規範包含完整的EBNF語法。 更確切地說,我打算使用Qi-YACC,因爲我想學習這個工具。這將是我第一次使用任何編譯器編譯器。 我打算實施的第一種翻譯非常簡單:XML到S-EXPRs。之後,我打算概括我的翻譯,但這不是我的問題的重點。 您是否預計這類項目會有重大陷阱?我讀過使用EBNF翻譯XML的是a bad idea