在问了这个问题之后,我现在开始尝试使用解析器生成器,在此之前我打算手动编写东西。
但是,我似乎找不到任何生成 C++ 代码的解析器,也找不到正确处理 Unicode 的解析器。(请注意,我的输入在 UCS-2 中——如果这会使构建解析器更加困难,我不关心支持基本多语言平面之外的位)
有一些解析器可以生成 C,但这些解析器似乎都将异常安全抛到了窗外,这将阻止我在任何语义操作中使用 C++。
是否存在满足这两个原则的解析器生成器,还是我被困在手动做所有事情?
编辑:哦,我的项目是 BSL 许可的,所以对解析器生成器本身的输出的使用没有太多限制。