当前位置: 首页 > news >正文

网站设计职业培训成都网上房地产

网站设计职业培训,成都网上房地产,找大学生做家教的网站,什么是企业邮箱怎么申请/* 此程序使用 Boost Spirit 库来解析用户提供的逗号分隔的数字列表。它演示了如何使用 Spirit 来定义解析 器和执行解析操作#xff0c;并且在用户输入时反复执行解析操作。用户可以提供一系列逗号分隔的数字#xff0c;程序会检查它们 是否符合指定的解析规则。如果解析成功…/* 此程序使用 Boost Spirit 库来解析用户提供的逗号分隔的数字列表。它演示了如何使用 Spirit 来定义解析 器和执行解析操作并且在用户输入时反复执行解析操作。用户可以提供一系列逗号分隔的数字程序会检查它们 是否符合指定的解析规则。如果解析成功程序将输出解析成功的消息否则将输出解析失败的消息。 */ #include boost/spirit/home/x3.hpp#include iostream #include string #include vectornamespace client //创建了名为 client 的命名空间用于组织程序的代码。 {namespace x3 boost::spirit::x3; //创建了别名namespace ascii boost::spirit::x3::ascii;///// Our number list parser///template typename Iteratorbool parse_numbers(Iterator first, Iterator last){using x3::double_; //引入了 Spirit 的 double_ 解析器用于解析浮点数using x3::phrase_parse; //引入了 Spirit 的 phrase_parse 函数用于执行解析。using ascii::space; //引入了 Spirit 的 space 解析器用于跳过空白字符。bool r phrase_parse(first, // Start Iteratorlast, // End Iteratordouble_ *(, double_), // The Parserspace // The Skip-Parser);if (first ! last) // fail if we did not get a full matchreturn false;return r;} } // Main programint main() {std::cout /\n\n;std::cout \t\tA comma separated list parser for Spirit...\n\n;std::cout /\n\n;std::cout Give me a comma separated list of numbers.\n;std::cout Type [q or Q] to quit\n\n;std::string str;while (getline(std::cin, str)){if (str.empty() || str[0] q || str[0] Q)break;if (client::parse_numbers(str.begin(), str.end())){std::cout -------------------------\n;std::cout Parsing succeeded\n;std::cout str Parses OK: std::endl;}else{std::cout -------------------------\n;std::cout Parsing failed\n;std::cout -------------------------\n;}}std::cout Bye... :-) \n\n;return 0; }Trivial Example #1 Parsing a number 创建一个解析器用于解析浮点数。 double_Trivial Example #2 Parsing two numbers 创建一个解析器用于接受包含两个浮点数的一行。 double_ double_这段代码创建了一个解析器可以识别包含两个浮点数的文本行。解析时这两个浮点数需要通过逗号或空格等分隔符分开。程序中使用 double_ double_ 表达式它将两个 double_ 解析器连接在一起表示需要解析两个浮点数它们之间用 “” 操作符表示“后跟”。这个示例强调了如何将简单的解析器组合成更复杂的解析器以便解析更复杂的文本结构。 Trivial Example #3 Parsing zero or more numbers 创建一个解析器可以接受零个或多个浮点数。 *double_这段代码创建了一个解析器可以接受零个或多个浮点数。它使用了 *double_其中 * 是Kleene星号表示可以重复出现前面的 double_ 解析器来匹配零个或多个浮点数。这是一种灵活的解析方式允许匹配任意数量的浮点数它类似于正则表达式中的 “*”用于表示重复出现。作者提到了C程序员可能会感到不太熟悉这种运算符的重载方式但这是因为必须遵守C的语法规则。 Trivial Example #4 Parsing a comma-delimited list of numbers 这个示例将创建一个解析器用于接受逗号分隔的数字列表。 double_ *(char_(,) double_)注意 char_(‘,’)。它是一个字符字面值解析器可以识别逗号 ‘,’。在这种情况下Kleene星号修改了一个更复杂的解析器即由以下表达式生成的解析器 (char_(,) double_)这段代码创建了一个解析器用于解析逗号分隔的数字列表。解析过程中它期望一个浮点数后面可以跟随零个或多个由逗号分隔的其他浮点数。double_ *(char_(,) double_) 表达式中double_ 解析一个浮点数*(char_(,) double_) 则表示零个或多个由逗号分隔的浮点数。char_(,) 用于识别逗号字符。括号用来确保逗号字符和浮点数之间的关系被正确解析。这个解析器的设计允许它有效地处理逗号分隔的数字列表。 Let’s Parse! 我们已经完成了解析器的定义。下一步是调用这个解析器来执行它的工作。有几种方法可以实现这一点。现在我们将使用 phrase_parse 函数。这个函数的一个重载接受四个参数 指向输入的起始位置的迭代器。指向输入的结束位置之后的迭代器。解析器对象。另一个名为跳过解析器skip parser的解析器。 在我们的示例中我们希望跳过空格和制表符。Spirit库中还包括了另一个名为 space 的预定义解析器它是一个非常简单的解析器只识别空白字符。我们将使用 space 作为我们的跳过解析器。跳过解析器负责在解析器元素之间跳过字符例如 double_ 和 char_。 好的现在让我们开始解析 template typename Iterator bool parse_numbers(Iterator first, Iterator last) {using x3::double_;using x3::phrase_parse;using ascii::space;bool r phrase_parse(first, // Start Iteratorlast, // End Iteratordouble_ *(, double_), // The Parserspace // The Skip-Parser);if (first ! last) // fail if we did not get a full matchreturn false;return r; }parse 函数返回 true 或 false 取决于解析的结果。第一个迭代器以引用的方式传递。在成功解析时这个迭代器会被重新定位到被解析器消耗的最右侧位置。如果这个位置等于 last那么就有了完全匹配。如果不等于 last那么就有了部分匹配。部分匹配发生在解析器只能解析输入的一部分时。 需要注意的是我们在调用 parse 时直接将解析器嵌入到调用中。调用 parse 时表达式会评估为一个临时的无名解析器然后传递给 parse() 函数被使用然后销毁。 在这里我们选择使解析器通用化通过将其作为一个模板来实现参数化迭代器类型。通过这种方式它可以接受来自任何符合STL标准的序列的数据只要迭代器符合前向迭代器的要求。
http://www.pierceye.com/news/577486/

相关文章:

  • 青岛市城市建设档案馆网站东莞网络推广优化排名
  • 成交型网站做网站优化的价格
  • 后台网站设计烟台优化网站公司
  • 网站开发中涉及的侵权行为软件开发案例展示
  • 网站开发u盘128够吗网络服务器是指什么
  • 网站空间试用百度搜索引擎关键词优化
  • 中山品牌网站设计阿里云企业网站怎么建设
  • 做网站推广广告房地产行业网站开发
  • 济宁网站建设 企业谷wordpress手机 不适应
  • 如何用php做网站合肥专业手机网站哪家好
  • 如何推广自己的网站和产品如何用dw做网站地图
  • 株洲有名的网站重庆市公路建设信息网官网
  • 网站安全证书出错怎么做dw网页制作素材网站
  • 收录查询 站长工具给网站做解答是干嘛的
  • 成都哪些公司可以做网站建网站现软件
  • 深圳wap网站建设传奇霸主页游
  • 做网站首先要干什么营销软文200字
  • 帝国cms做的网站私人定制女装店
  • 网站建设南沙wordpress video
  • 网站建设开票应该开哪个行业什么网站可以免费做视频的软件
  • 百度seo查询收录查询网站推广策划案seo教程
  • 如何免费建立网站中贤建设集团网站
  • 如何做转运网站黄聪 wordpress
  • 临海市住房与城乡建设规划局网站宁波网络推广培训
  • go 网站开发自己在线制作logo
  • 重庆市网站建设公司企业服务账号
  • 网站建设的市场情况网站系统里不能打印
  • 网站如何适应屏幕做网站时无法上传图片
  • 网站的橱窗怎么做嘉兴住房和城乡建设厅网站
  • 吉林省城乡建设官方网站163企业邮箱登录入口官网