ICode9

精准搜索请尝试: 精确搜索
  • c – Boost.Spirit使用基数将字符串解析为数字2019-08-29 19:07:38

    我有一个模板函数,它将字符串转换为数字如下: template <typename RetType, typename Parser = typename boost::spirit::traits::create_parser<RetType>::type> inline std::enable_if_t<std::is_arithmetic<RetType>::value, RetType> cast(const std

  • c – 请求解析器语法,使用boost spirit qi更好2019-08-29 14:08:06

    我试图使用boost :: spirit :: qi来解析表达式. 表达很简单,也可以 > id,像x >对象的成员,如obj.x.>数组的元素,如arr [2]>函数调用的结果. func(x,y) 对象的成员可以是数组或函数类型x.y [2],x.y()是合法的. 函数结果可能是数组或对象所以func(x,y).value,func(x)[4]也是合法的.

  • c – Boost Spirit Qi – 使用两个组件序列列出解析2019-08-28 19:06:41

    我正在尝试为参数列表编写一个解析器,这将允许以下内容: myFunc( arg0, arg1, namedArg0 = valueA, namedArg1 = valueB ) 在上面的例子中,我希望前两个参数解析为TypeA的实体,然后由std :: vector< TypeA>.后两个参数将解析为TypeB,它将由std :: vector< TypeB>.所有TypeA参数都

  • c – Boost Karma,重新排序struct元素2019-08-28 06:09:12

    说我有这样的结构: struct MyStruct { int a; int b; int c; } BOOST_FUSION_ADAPT_STRUCT ( MyStruct, (int, a) (int, b) (int, c) ) 如果我有一个简单的发电机: struct MyStructGenerator : boost::spirit::karma::grammar<boost::spirit::o

  • c – 将已解析序列的每个元素传递给返回规则属性类型的函数2019-08-27 23:06:09

    我想解析CSS颜色函数(为简单起见,所有参数都是0到255之间的数字) rgb(r,g,b) rgba(r,g,b,a) hsl(h,s,l) hsla(h,s,l,a) 成 struct color { color(std::uint8_t r, std::uint8_t g, std::uint8_t b, std::uint8_t a) : red{r}, green{g}, blue{b}, alpha{a} {} static co

  • c – 提升精神提取第一个单词并将其存储在向量中2019-08-27 20:09:29

    我遇到Boost.Spirit解析字符串的问题. 字符串看起来像 name1 has this and that.\n name 2 has this and that.\n na me has this and that.\n 我必须提取名字.文本“有这个和那个”总是相同但名称可以由空格组成,因此我不能使用graph_p. 1)如何解析这样的字符串? 由于字符串有

  • c – 提升精神和前瞻性声明问题2019-08-27 15:55:32

    有人可以给我一些关于如何处理情况的建议/想法,当需要进一步声明以便能够在当前时刻做出正确的语义操作时?例如,当某人编写某种不支持“前向声明”的编程语言的解释器/编译器时,这是众所周知的事件.我们举个例子: foo(123);//<-- our parser targets here. we estimate we have a fu

  • c – boost spirit 2.x:如何处理关键字和标识符?2019-08-27 15:53:33

    美好的一天. 我过去一直在使用提升精神经典,现在我正在努力坚持更新的,提升精神2.x.有人可以如此友善地指出我如何处理关键字?比如,我想区分“foo”和“int”,其中“foo”是标识符,“int”只是一个关键字.我想保护我的语法免于错误的解析,比如“intfoo”. 好的,我有 struct my_keyw

  • c – Boost精神语法匹配嘈杂的输入2019-08-26 18:04:42

    我试图解析一个嘈杂的输入,理想情况下,我将能够看到一个节是否匹配规则,如果它确实得到我需要的数据并丢弃其余的. 我想要的数据如下. Event: Newstate Channel: SIP/104-000001bb ChannelState: 6 ChannelStateDesc: Up 我想确保事件是否为新状态. 我需要频道状态.其余的我不关

  • c – 使用karma为指针向量生成输出2019-08-26 06:08:48

    我在使用karma为boost :: shared_ptrs的向量中保存的结构生成输出时遇到了一些麻烦.我有一个使用不能编译的int的小测试用例.我以为我可以使用deref_iterator自定义点来处理这种情况,或者也许开箱即用的精神会注意到我的容器持有指针类型并进行额外的解引用.无论如何,这是测试用例:

  • c – 在语义动作中添加到精神qi符号表2019-08-26 06:07:31

    按照boost::spirit::qi::symbols documentation的开头段落,我假设从语义动作中添加符号到qi ::符号并不太难.不幸的是,它似乎并不像我想象的那么简单. 以下测试代码表明了问题: #define BOOST_SPIRIT_USE_PHOENIX_V3 #include <boost/spirit/include/qi.hpp> #include <boost/spiri

  • c – 提高规则的精神排列2019-08-25 16:08:39

    我有两种类型的表达式,我想解析并计算结果. > Artimetic表达式:, – ,*,/和sqrt()函数; 例如:“2 3 * sqrt(100 * 25)” – >应计算为152>函数:GetSubString()和ConcatenateStrings()例如:“GetSubString(‘100str1’,0,3)” – >应计算为100 我有2个单独的语法来解析这些表达式类型.现

  • c – 如何使用boost :: spirit解析数学表达式并将其绑定到函数2019-08-24 21:04:45

    我想定义一个带有2个参数的函数 double func(double t, double x); 从外部文本文件中读取实际实现的位置. 例如,在文本文件中指定 function = x*t; 该函数应该实现x和t之间的乘法,以便可以在稍后阶段调用它.我正在尝试使用boost :: spirit来解析函数.但我不知道如何实现

  • c – Boost.Spirit.Qi用法中的错误雪崩2019-07-30 15:07:31

    我无法弄清楚我的代码有什么问题. Boost的模板让我变得疯狂!我不能在这一切中做出正面或反面,所以我不得不问. 这有什么问题? #include <iostream> #include <boost/lambda/lambda.hpp> #include <boost/spirit/include/qi.hpp> void parsePathTest(const std::string &path) {

  • c – 基于提升精神语法的字符串拆分2019-07-30 00:05:21

    我正在使用Boost 1.44,Spirit解析器适用于数值解析,但对于字符串解析来说真的很棘手.我试图解析一个字符串,使用多个分隔符进行拆分:’,’,’;’要么 ‘ ‘.当我这样做时,它适用于数字(其中vect = vector< double>): qi::parse(first,last,double_ >> *(',' >> double_ | ' ' >> do

  • c – 使用boost :: spirit :: qi用分隔符解析数字2019-07-28 07:04:40

    我试图使用boost :: spirit :: qi进行一些解析.它实际上进展顺利,我成功地设法根据后缀在各种基础上解析数字.例子:123,c12h,777o,110101b. 然后我想添加允许完全忽略的分隔符的功能,以允许解析123_456或1101_0011b之类的值.我尝试使用跳过解析器,但我非常怀疑我完全误解了它是如何

  • 在C中将逻辑公式转换为合数范式2019-07-27 18:05:00

    我将使用Boots / Spirit在C中实现CNF生成器.但在完成“优先顺序”和“消除等价和含义”这两部分之后,我无法弄清楚如何实现“向内移动NOT”和“在ANDs上向ORs内部分配OR”. 此处记录了所需的输出: https://en.wikipedia.org/wiki/Conjunctive_normal_form 以下是更多详细说明: 优先顺

  • 凤凰中的C boost :: lambda :: ret等效2019-07-26 19:07:28

    Boost lambda允许使用ret< T>来覆盖推断的返回类型.模板. 我曾尝试在凤凰中搜索等效物,但找不到它. 在凤凰中有相同的东西吗?我知道怎么做自己的替换,但我宁愿不做.谢谢解决方法:重写:我错过了我的第一个答案(已经很晚了),让我再试一次. 让我为像我这样第一次可能会错过你的观点的人

  • c – 用容器解析结构2019-07-24 19:06:54

    如何使用boost.spirit x3解析为如下结构: struct person{ std::string name; std::vector<std::string> friends; } 来自boost.spirit v2我会使用语法,但由于X3不支持语法,我不知道如何干净. 编辑:如果有人可以帮我编写一个解析字符串列表的解析器并返回第一个字符串的人是

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有