Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
提升解析器中的 Spirit 段错误
我一直在尝试将我在本科编译器中编写的一些 lex 和 yacc 代码转换为精神代码以学习精神 我发现了一个我似乎无法弄清楚的段错误 我这样写了词法分析器 namespace lex boost spirit lex enum Tokens
c
Parsing
boostspirit
boostspiritqi
虚拟类作为 Spirit 的 AST 节点
我当时正在和一个朋友一起开发一种语言的解释器 我们从一个我猜想不太明智的决定开始 我们首先制作所有用于执行的元素 实际上是由不同类组成的树 但现在看着 boost 的例子 我对如何合并两者感到很困惑 我知道从什么开始 语法 我知道要达到什么
c
abstractsyntaxtree
boostspirit
提升精神带走关键字并忽略船长
这是使用表达式的语法的一小部分 prefix lit L not gt gt prefix lit gt gt prefix postfix 我在 postfix 内部有某种方式纯名称获取标识符 name pure lexeme boost
c
keyword
boostspirit
identifier
X3:非终端解析器上的链接器错误(未解析的外部符号“parse_rule”)
首先我使用的是MSVC 2017 最新版本 这是我的非终结符解析器的代码 播放器 hpp namespace parse namespace impl namespace x3 boost spirit x3 struct tag usin
c
boost
boostspirit
boostspiritx3
如何使用 boost::spirit::qi 解析行尾?
不应该是一个简单的eol http www boost org doc libs 1 42 0 libs spirit doc html spirit qi quick reference qi parsers auxiliary html
c
boostspirit
EOL
boostspiritqi
如何编写 boost::spirit::qi 解析器来解析从 0 到 std::numeric_limits
::max() 的整数范围?
我尝试使用qi uint parser
c
Parsing
numeric
boostspirit
boostspiritqi
为什么 boost::spirit::qi::parse() 没有设置这个 boost::variant 的值?
当尝试将文本解析为 boost variant 时 变体的值不会更改 解析器本身似乎工作正常 所以我的假设是我对变体代码做了错误的事情 我使用的是 boost 1 46 1 以下代码在 Visual Studio 2008 中编译 第一次更
c
boost
boostspirit
boostspiritqi
boostvariant
Boost Spirit 规则和语法中模板参数中的括号
看着这个例子 http boost spirit com home articles qi example parsing a list of key value pairs using spirit qi 为了实现 Spirit 解析器
c
templates
boost
boostspirit
boostspiritqi
使用单独的规则定义和实例化时,Boost Spirit X3 AST 无法处理语义操作
我尝试将 Boost Spirit X3 与语义操作结合使用 同时将结构解析为 AST 如果我使用没有单独定义和实例化的规则 它就可以正常工作 例如 include
c
boost
boostspirit
boostspiritx3
使用 boost::karma 格式化纬度/经度字符串
我需要格式化double值转换为具有非常特定格式的坐标字符串 DDMMSS SSX where DD 是完整的学位 MM 是完整的分钟 SS SS 是带有小数的秒 X 是 N 或 S 具体取决于半球 这些字段需要用零填充 不能接受空格 格式
c
Coordinates
stringformatting
boostspirit
在 boost::spirit 语法中翻转规则内的子规则顺序会导致段错误
警告 虽然我试图将代码缩短到最少 我仍然需要包含相当多的内容 以确保提供所需的信息 该代码编译文件并运行 导致语法错误 name simple name qi val qi 1 qualified name qi val qi 1 虽然这
boost
segmentationfault
boostspirit
boostspiritqi
boostspiritlex
灵气文法可以作为灵业文法重复使用吗?
我有一个 Qi 语法定义 用于解析输入 后来我有一个 Karma 生成器 以与输入类似的方式输出 这有可能吗 似乎解析器语法可以自动转换为生成器语法 include
c
Parsing
boostspirit
boostspiritqi
boostspiritkarma
Boost Spirit x3 - 惰性解析器
有最新的吗boost spirit x3实施lazy解析器 我发现它在文档 https www boost org doc libs develop libs spirit doc x3 html spirit x3 quick refer
c
boost
boostspirit
boostspiritx3
使用 Boost Spirit 解析语法
我正在尝试解析像下面这样的树表达式之类的 C 函数 使用精神解析器框架 http en wikipedia org wiki Spirit Parser Framework F A B GREAT SOME NOT C YES 为此 我尝试
c
Parsing
boostspirit
boostspiritqi
如何在带有 Boost Spirit 的 AST 中使用只有一个属性的类?
我想使用 Boost Spirit 将文件解析为 AST 我的 AST 的根源是一个只有一个属性的类 typedef boost variant
boostspirit
boostspiritqi
PEG规则识别函数原型
我正在尝试创建一个可以解析 C 代码的解析器 我的用例是解析可能包含函数原型的缓冲区 我想将此函数名称推入符号表中 我是 Spirit 和 PEG 的新手 我正在尝试弄清楚如何编写可以识别函数原型的规则 这是我当前的实现 auto name
c
compilerconstruction
boostspirit
使用 boost Spirit 语法(boost 1.43 和 g++ 4.4.1)第二部分构建错误
我在编译一个小的spirit qi语法时遇到问题 我正在使用 boost 1 43 和 g 4 4 1 输入语法头 构建错误似乎指向 指令 规则的定义 也许是 sp val sp 1 以某种方式破坏了它 但这或多或少基于spirit文档教程
c
Parsing
boostspirit
增强 qi::rule 上的精神语义动作
我一直在阅读语义动作 我有一个如下所示的规则 property rule identifier rule gt gt lit L gt gt type specification rule gt gt lit L gt gt alnum g
boostspirit
boostspiritqi
是否可以将一个操作附加到 boost::spirit::rule 解析器,该解析器将解析结果分配给(尚)未知实例的成员?
我试图从 boost spirit 规则定义的操作中引用 尚 未知实例的成员 因此在伪代码中 代替 双 参考 rN 1 我正在寻找类似的东西 X 像素 double ref X rN ppx 1 它的解决方法可能是一个简单的 语义操作 其参
c
reference
boostspirit
boostbind
boostspiritqi
使用不同的符号表重新计算 Boost Spirit 解析的属性的最有效方法是什么?
我正在使用 Boost Spirit 来实现某些软件中的功能 该功能允许用户输入将重复应用于输入流的数学方程 输入流值使用符号表示boost spirit qi symbols用户可以在他们的方程中引用 例如 out1 3 in1 in2
c
performance
boost
boostspirit
expressionevaluation
1
2
3
4
5
6
»