Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
如何为用户提供给定 boost::spirit 语法的自动完成建议?
我正在使用 Boost Spirit 在我的 C GUI 应用程序中为非技术用户构建简单的 数据过滤器 语言 语言与纯英语非常相似 并且可以解析为 AST 我被要求使该过程尽可能对用户友好 因此我希望提供类似 CLang 的错误消息 无法识
c
Parsing
autocomplete
boostspirit
提升灵气自定义综合属性(通过语义动作设置结构体属性的特定成员)
假设我有一个结构体 我想用灵气解析成 它的定义如下 struct data bool export std wstring name data export false 另外 假设该结构已适应融合 如下所示 BOOST FUSION ADA
c
attributes
boostspirit
boostspiritqi
Synthesize
提升解析器中的 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
1
2
3
4
5
6
»