boost-spirit相关内容

通过过滤一个std ::地图的合成属性,提振精神,语义动作

我在哪里,我想过滤通过一个std ::地图的规则内的综合属性出现的值的情况。 地图是pre-产生的,并不会解析过程中改变。 地图和实分析器的性质意味着该查找应该永远不会失败(尽管元件的实际数量可以是相当大的) 通常的方法完全适合于这个问题(使用符号表)是不适合的实际情况。在真正的问题的基础上,将直到在分析更晚是显而易见(以稍微移除规则)的属性查找是有条件的。 我尝试: 的#def ..
发布时间:2016-08-12 17:22:37 C/C++开发

提振精神解析器与继承的属性 - 简单的例子就不会编译

我试着写与升压::精神类C语言使用继承属性转移有关变量的作用域信息解析器。例如,“名称空间中的{VAR B}”将通过“A”为解析器一个属性“变种B”。 我无法用继承的属性编译此code得到一个基本的解析器: 的#ifndef CPARSER_DEF_HPP #定义CPARSER_DEF_HPP#包括LT&;串GT;#包括LT&;升压/精神/有/ qi.hpp>命名空间编码=的boost ..
发布时间:2016-08-12 17:22:24 C/C++开发

提振精神编译问题

您好我是很新的提振精神库。你可以请让我知道为什么低于code未编译? 当我加上“scientificNumber”规则,以我的语法它不编译。可能是什么原因? 我已经加入“scientificNumber”的规则,以使其能够解析科学notaion像“12E10”。我不知道这是应该做的正确方法。 命名空间补气=的boost ::精神::补气; 命名空间PHX =提振::凤; TYP ..
发布时间:2016-08-12 17:22:01 C/C++开发

提振精神:: ::气置换分析器和合成属性

我想放在一起用精神简单的命令行分析器没有语义动作。 我使用BOOST 1.52,但我想避免使用C ++ 11的特性。语法的语法如下: [ - P NUM1] [-j] [--jobs NUM2] STR1 STR2 可选参数可以是任何顺序。我成功地解析只可选参数。一旦我添加了额外的强制性两个字符串解析器它打破。当我尝试写下“RSTART”明确属性,并使用“自动”避类型推演它打破了平衡。 ..
发布时间:2016-08-12 17:21:39 C/C++开发

提振精神琪:在克林星分析器忽略元素

我要解析特殊构造和扔剩下的路程。但我不希望使用的队长。 我要得到这些结构的载体,所以我用一个克莱尼明星解析器为主要原则。但是,每次的东西被扔掉,一个默认构造元件被插入到载体中。 下面是一个由例子。它只是查找字符串测试并引发休息了,至少这是该计划。但每一次的规则垃圾成功增加了一个默认的构造项向量在规则所有,给人一种输出7 insteat 1.我怎么能告诉灵刚添加到向量如果规则项目成功? 的#d ..
发布时间:2016-08-12 17:21:37 C/C++开发

提振精神信号成功解析尽管令牌不完整

我有一个非常简单的路径构造我试图用升压spirit.lex解析。 我们有以下的语法: 标记:= [A-Z] + 路径:=(令牌:路径)| (令牌) 所以,我们只是在谈论这里冒号分隔的小写的ASCII字符串。 我有三个例子“XYZ”,“ABC:XYZ”,“ABC:XYZ:” 前两个应视为有效。第三个,其具有尾随结肠,不应该被视为无效。不幸的是,解析器我承认这三个为​​有效。语法不应该允许一个 ..
发布时间:2016-08-12 17:21:14 C/C++开发

如何解析升压精神正常的保留字

我试图解析语法的序列:;方向><键入><名>。例如: 浮法富 的方向在哪里可以为在 退出或 IN_OUT 。我已经成功地用气::符号类的方向关键字转换为枚举解析正确的文本。 然而,问题显示了当我没有正确的文本。就拿例如: INT富 符号表解析器将除了'中'的'廉政'类型的一部分​​,所以结果将是:方向:在 类别:T- 名称:富 和未检测到错误。什么是最好的方式,能够解析 ..
发布时间:2016-08-12 17:20:52 C/C++

与升压:: ::精神和法功放的烦恼;空白

我尝试学习使用的boost ::精神。要做到这一点,我想创造一些简单的词法分析,将它们组合起来,然后开始使用精神分析。我试图修改的例子,但预期不运行(结果r是不是真的)。​​ 下面是词法分析器: 的#include<升压/精神/有/ lex_lexertl.hpp>命名空间=法的boost ::精神::法;模板< typename的词法> 结构lexer_identif ..
发布时间:2016-08-12 17:19:21 C/C++开发

解析与提振精神逃脱串

I'm与精神2.4工作,我会想解析这样的结构: 文字{text_field}; 问题的关键是,在text_field是一个转义字符串与符号'{','}'和'\\'。 我想创建一个解析器使用这个气。我一直在想这样的: 使用boost ::精神::标准:: char_; 使用boost ::精神::标准::串; 使用气::词位; 用气点燃::;齐::规则< IteratorT,标准::字 ..
发布时间:2016-08-12 17:19:06 C/C++开发

如何使用升压::精神::莱克斯莱克斯文件而不读取整个文件到内存中第一次?

我期待在编写使用boost ::精神::法词法分析器,但所有我能找到的例子似乎假设你已经先阅读整个文件到内存中。我想编写不需要整个字符串是在RAM中的词法分析,这可能吗?或者我需要用别的东西吗? 我试着使用istream_iterator,但除非我用为const char提升给了我一个编译错误,*作为迭代器类型。 例如。我能找到的所有例子基本上做到这一点: lex_functor_type ..
发布时间:2016-08-12 17:18:42 C/C++开发

我如何使用与升压::精神::气解析器多态的属性?

我想我的boost ::精神为基础,解析器能够解析文件,转换解析规则为​​不同的类型,并放出包含所有它找到一个匹配的载体。所有发射作为属性的类型应该从基类继承,例如: 的#include<升压/精神/有/ qi.hpp> #包括LT&;升压/融合/ adapt_struct.hpp> #包括LT&;升压/ shared_ptr.hpp> #包括LT&;升压/ foreac ..
发布时间:2016-08-12 17:16:55 C/C++开发

通过属性来独生子女政策升压精神

我有相同属性的两个规则。 是否有可能在matrix_规则的属性传递给孩子matrixBlock_规则? 我想保留重复指令从创建表单矢量<的属性>。相反,它应该保持写入matrix_的属性(numBlocks的时间)。 我试图通过属性为继承属性到子规则,它编译(见下文)。但是,我得到我的矢量几个“鬼”条目从凤凰::的push_back来不是。 另外这似乎不是我的最佳方式。是否有可能给我 ..
发布时间:2016-08-12 17:12:07 C/C++开发

提振精神:: ::气关键字和标识符

我看到有关齐语法关键字/标识符采用细微差别的几个职位,但我不能完全使如何助推例子证明这种方法应该工作意义... 关键词声明: 齐::符号<&烧焦GT;关键词; 例如关键字集: keywords.add (“富”) (“酒吧”) ; 标识符规则声明:齐::规则<的std ::字符串::为const_iterator,标准::字符 ..
发布时间:2016-08-12 17:11:38 C/C++开发

升压精神,统一法多个令牌入法单个标记由ID分化

修改:我已经撕去了词法分析器,因为它不干净地整合齐,只是混淆语法(请参阅下面的回答) 我的词法分析如下所示: 模板< typename的词法> 结构标记:法::词法<&词法GT; { 令牌() :left_curly(“\\”{\\“”), right_curly(“\\”} \\“”), left_paren(“\\”(\\“”), righ ..
发布时间:2016-08-12 17:11:10 C/C++开发

C ++升压齐递归规则建设

[看来我的解释和期望都不清楚可言,所以我加了precision上,我想如何使用该功能在帖子的末尾] 我目前正在使用升压齐语法。我有一个循环建设一个规则,因为我需要从一个向量的元素构建它。具有简单类型我已经重新编写它,它看起来像: 的#include<串GT;使用升压1.43.0 // #包括LT&;升压/精神/有/ qi.hpp> #包括LT&;升压/精神/有/ qi_eps.hp ..
发布时间:2016-08-12 17:11:07 C/C++

未定义的行为在某处提振精神:: ::气:: phrase_parse

我学习使用boost ::精神库。我把这个例子 HTTP://www.boost .ORG / DOC /库/ 1_56_0 /库/精神/例子/气/ num_list1.cpp 并编译它在我​​的电脑 - 它工作得很好。。 但是,如果我修改了一点 - 如果我初始化解析器 自动分析器=补气:: double_>> *(','>>气虚:: double_); 作为地方全 ..
发布时间:2016-08-12 17:07:41 C/C++开发

为什么NVCC无法编译CUDA文件,提振精神::?

我想CUDA集成到现有的aplication至极使用的boost ::精神。 隔离的问题,我发现了以下code不NVCC copile: main.cu : 的#include<升压/精神/有/ qi.hpp> 诠释主(){ 出口(0); } 与 NVCC -o cudaTest main.cu 我得到了很多的错误,可以看到的这里。 但是,如果我更改文件名以的main ..
发布时间:2016-08-12 17:07:38 C/C++开发

精神不能自动分配属性单元素结构(或融合序列)

我的目标是有我的齐::语法返回属性。我有一个精神做这显著困难::词法虽然。 我期望与下面给定的语法,如果我把它叫做精神::气::解析(开始,结束,语法,输出); ,该结构的ident输出将有语义分析的内容。 的错误似乎大多流出来这行:启动(%)= lexer.identifier; 系统注 升压1.47.0 的Mac OS X 10.7.2 铛++或g ++(如下图所示的错误是从铛 ..
发布时间:2016-08-12 17:07:36 C/C++开发