【发布时间】:2017-02-17 15:19:57
【问题描述】:
我想实现一个需要解析实例名称和路径的语法,其中路径是由分隔符分隔的实例名称列表。分隔符可以是.(句点)或/(斜杠)在列出路径之前在输入文件中给出,例如:
DIVIDER .
a.b.c
x.y.z
一旦设置,整个文件的分隔符永远不会改变(即,如果设置为.,遇到像a/b/c 这样的路径不应正确解析)。由于我事先不知道分隔符是什么,所以我正在考虑将其存储在我的语法变量中,并在相应的char_ 解析器中使用该值(当然,实际的语法要复杂得多,但这是我遇到麻烦的部分)。
这有点类似于这个问题:Boost spirit using local variables 但不是我想要的,因为使用 Nabialek 技巧允许在设置分隔符后解析“无效”路径。
我不是在这里要求一个完整的解决方案,但我的问题本质上是这样的:我可以将值解析为我的语法成员,然后使用这些值来进一步解析剩余的输入吗?
【问题讨论】:
标签: c++ boost boost-spirit-qi