我想用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
}
}
首先,我想我是按块读取文件的。一个块将是{和}字符之间的文本,我会为这样的块写一个语法。比起一个while循环我会经历这些块。但感觉这不是一个好的解决方案。
有没有办法编写一个可以解析整个文件的语法?
类似的东西:
如果“对象”那么...... 如果“Attribute1”那么...... 等...
任何人都可以给我一些示例代码,做类似的事情会非常感激!当然,我很满意任何可以帮助我的建议/链接。
提前致谢!
答案 0 :(得分:2)
有没有办法编写一个可以解析整个文件的语法?
A - 是的。
对于非常相似的语法,请查看以下内容: