gpt4 book ai didi

c++ - 如何使用 Boost::Spirit 解析复杂的字符串文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:38 25 4
gpt4 key购买 nike

我想用 Boost::Spirit 解析一个文件,我想将解析后的数据传递给我的类。我以前从未使用过 Boost::Spirit,因此我不能真正决定哪种方法是解决这个问题的最佳方法。

我的文件结构是这样的:

Object {
Attribute1(2) {
1,2,3
4,5,6
}

Attribute2(3) {
1,2,3
3,4,5
6,7,8
}

Attribute3(1) {
1,2
}

ComplexAttribute1 {
Inner_Attribute1: 1
Inner_Attribute2: 2
Inner_Atribute3(2) {
1,2,3, 4,5,6, 7,8,9
9,8,7, 6,5,4, 3,2,1
}
}

ComplexAttribute2 {
Inner_Attribute1: 1
Inner_Attribute2: 2
Inner_Atribute3(2) {
1,2,3, 4,5,6, 7,8,9
9,8,7, 6,5,4, 3,2,1
}
}

首先,我在想我是按 block 读取文件的。一个 block 是 { 和 } 字符之间的文本,我会为这样的 block 编写语法。比起 while 循环,我会遍历这些 block 。但感觉这不是一个好的解决方案。

有没有办法写出一个能解析整个文件的大语法?

类似于:

如果“对象”那么...如果“Attribute1”那么......等等……

任何人都可以给我一些可以做类似事情的示例代码,将不胜感激!当然,我对任何可以帮助我的建议/链接都很满意。

提前致谢!

最佳答案

Is there a way to write a grammer as big which can parse the whole file?

A - 是的。

查看以下非常相似的语法:

关于c++ - 如何使用 Boost::Spirit 解析复杂的字符串文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16459591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com