boost-spirit-qi相关内容
再次,我发现自己达到了提振精神。再次,我发现自己被它击败了。 HTTP标头值采用一般形式: text / html; q = 1.0,text / *; q = 0.8,image / gif; q = 0.6,image / jpeg; q = 0.6,image / *; q = 0.5,* / * q = 0.1 value * OWS [; * OWS名
..
我写了一些语法与boost :: spirit :: qi :: rule来解析互联网包。语法如下: qi :: rule开始,请求,响应,状态,查询; start =(request | response | status | query)>> lit(“\r\\\ ”); 以提高性能,用户可能想在运行时跳过一些规则。忽略“响应”,“状态”,“
..
所以我想写一个...好...不是那么简单的解析器与boost :: spirit :: qi。我知道提升精神的光明基础,在过去几个小时里第一次熟悉它。 基本上我需要解析这个: #comment #其他评论 设置“Myset A” { figure“AF 1” { i 0 0 0 i 1 2 5 i 1 1 1 f 3.1 45.11 5.3 i 3 1 5 f
..
在我的 boost :: spirit 语法我有以下代码片段: implicit_method_declaration =( - (qi :: token(ABSTRACT))> ...) - (qi :: token(ABSTRACT)的类型是 boost :: optional
..
我想将一些旧手写的解析代码转换为Boost Spirit并在此过程中学习(更多)精神。旧代码使用流和模板来解析某些数据类型和一些容器的定义。 一些典型的格式: VECTOR [number_of_items,(item_1,item_2 .... item_n)] PAIR(p1,p2) RECT [ right,bottom)] Point(x,y) Size(x,y)
..
在我的 boost :: spirit 语法我有以下代码片段: implicit_method_declaration =( - (qi :: token(ABSTRACT))> ...) - (qi :: token(ABSTRACT)的类型是 boost :: optional
..
所以我想写一个...好...不是那么简单的解析器与boost :: spirit :: qi。我知道提升精神的光明基础,在过去几个小时里第一次熟悉它。 基本上我需要解析这个: #comment #其他评论 设置“Myset A” { figure“AF 1” { i 0 0 0 i 1 2 5 i 1 1 1 f 3.1 45.11 5.3 i 3 1 5 f
..
查看这个例子用于实现一个Spirit解析器,当我试图写一些类似的东西时,有些东西吸引了我。 属性模板参数语法( std :: map())和规则的签名模板参数(例如 qi :: rule key,value )包含括号。 namespace qi = boost :: s
..
在Boost :: Spirit中,如何解析后面跟有分号或带有可选分号的换行符的条目? 输入示例,其中每个条目都是int和double: 12 1.4; 63 13.2 2423 56.4; 5 8.1 这里是只解析空格的条目的示例代码: #include #include
..
不应该是一个简单的 eol 做什么? #include #include #include #include using boost :: spirit :: ascii :: space; using boost :: spirit :: lit;
..
template struct parse_grammar :qi :: grammar { parse_grammar() :parse_grammar :: base_type(start_p,“start_p”){ a_p =','& qi :: double_; b_p = *
..
我有一个记录解析器,它抛出几个异常中的一个,以指示哪个规则失败。 前端: #include #include #include #include #include #include
..
我试图解析一个C函数,像下面这样的树表达式(使用 Spirit Parser框架): F(A(),B(GREAT(SOME,NOT)),C(YES)) 为此,我试图对以下语法使用三个规则: 模板 struct InputGrammar:qi :: grammar
..
如何在规则开始时检测错误?例如,请考虑 Mini XML示例包含在文档中。如果我给解析器提供像: 这是一个错误 然后我得到: 错误!期望在这里:“” 错误!期望在这里:“ 解析失败。 然后考虑送入: 元素>这是错误 我得到非常通用,
..
我写了一些规则将浮点解析为两个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 #另一
..
我尝试使用Boost Spirit QI解析TPCH文件。 我的实现灵感来自Spirit QI的员工示例( http ://www.boost.org/doc/libs/1_52_0/libs/spirit/example/qi/employee.cpp )。 数据是csv格式的,而符号用一个'|'字符分隔。 它工作,但很慢GB)。 这是我的lineitem文件的qi语法:
..
您好 [¹] 我有一个简单的解析器 它打算解析条件表达式(关系算术运算及其逻辑组合)。 那么它会成功解析A> 5,但是会停止并忽略输入的其余部分,这与我的内容一致。 如何更改 expr _ 规则,使其解析整个输入? #include #include #include
..
首先,如果使用Boost Variant或者Utree更容易,我会和他们和解,我会尝试在另一个主题中解决我的问题。但是,我非常希望能够建立一个像我这样的树。 背景,忽略如果你想直接问题:我会喜欢能够建立一个表达式树,它解析类似 “({a} == 0)&& ({b}> 5)“ 或标准数学运算式 “(2 * a)+ b” 然后我将定义a和b在评估我的
..
我想了解以下结果。测试用例代码是 #include #include #include #include
..
我想使用Boost.Spirit(V. 2.5)库来创建一个小型计算器。特性我想实现: - 基本演算(+, - ,/,*),工作 - 一些函数(如min,max),工作太多 - 声明/双变量,并有问题...当我添加“[vars.add]”我得到编译错误(模板参数ambiguious)。 我试过“add(char _(_ 1)”,“add(_1)”,...没有什么似乎工作,我显然缺少一些东西
..