【发布时间】:2012-11-02 16:10:45
【问题描述】:
我试图浏览 Boost Spirit 页面上的官方文档,但我发现它完全无法理解(尽管有 25 年以上的编程经验和英语语言学位)——它显然是由熟悉系统的人编写的(好)但假设读者也很了解系统(坏)。我需要一些不会像
这样抛出句子的东西Spirit 中的解析器和生成器是完全归属的
显然,我不知道“归属”的含义,而且网络搜索也无济于事。或者
序列需要一个属性类型来公开融合序列的概念,其中该融合序列的所有元素都必须与组件序列的相应元素兼容
什么是融合序列?我所知道的唯一一个发生在太阳中。在 C++ 中如何“暴露”一个“概念”?
有没有从初学者的角度描述 Boost Spirit 的好教程?
【问题讨论】:
-
祝你好运。我发现 Boost 的大部分文档都......缺乏。
-
“融合序列”是符合Sequence Concept 来自
boost::fusion的对象。 -
我曾经尝试学习boost.spirit,也正是因为这个原因放弃了。毕竟,我不后悔:1)它是有限的(更好地使用真正的解析器生成器。实际上,在我可以花时间学习它的时候,我从头开始编写了我自己的解析器生成器),2) 它很丑陋(我反对滥用 C++ 来实现 DSL),以及 3) 使用它的人抱怨编译时间非常慢......
-
@JohnDibling 你能解释一下它缺少什么吗?以我的经验,很少有图书馆有这样的comprehensive documentation(管道和瓷器)。或许,你要找的更多的是samples?
-
@ybungalobill 完全同意:您必须为工作选择工具。我喜欢 Spirit,因为它很有趣,它是“内置的”,而且它教会了我很多关于 C++ 通用编程的知识。但在将其纳入任何长期项目之前,我会犹豫多次。
标签: c++ documentation boost-spirit