7

我正在开发一个 C++ 解析器(用于 IDE),所以现在尝试详细了解 C++ 语法。虽然我在http://www.nongnu.org/hcb/找到了一个很好的语法来源,但我在理解它的某些部分时遇到了困难——尤其是哪些“真正的”语言结构对应于各种产生式。

所以我正在寻找一个 C/C++ BNF 语法指南,其中包含匹配各种产生/规则的代码示例。有吗?

4

1 回答 1

7

超链接(声称的)语法不一定是您可以轻松构建解析器的语法。这取决于您的解析引擎的性质,以及您关心的 C 和 C++ 的真正方言(ANSI?GNU?C99?C++11?MS?)。

构建一个有效的 C++ 解析器真的很难。请参阅我对为什么不能使用 LR(1) 解析器解析 C++的回答?由于某些原因。如果您想要一个“好”的解析器,我建议您使用现有的解析器之一。值得一看的可能是Elsa,因为它是开源的。

于 2012-08-06T13:28:10.327 回答