C++;带解析/匹配示例的BNF语法 我正在开发一个C++解析器(IDE),所以现在尝试详细了解C++文法。 虽然我在找到了一个优秀的语法源,但我很难理解其中的某些部分,尤其是,哪些“真正的”语言结构对应于各种产品

C++;带解析/匹配示例的BNF语法 我正在开发一个C++解析器(IDE),所以现在尝试详细了解C++文法。 虽然我在找到了一个优秀的语法源,但我很难理解其中的某些部分,尤其是,哪些“真正的”语言结构对应于各种产品,c++,parsing,grammar,bnf,C++,Parsing,Grammar,Bnf,因此,我正在寻找一本C/C++BNF语法指南,其中包含匹配各种产品/规则的代码示例。有没有?超链接(声称的)语法不一定是可以轻松构建解析器的语法。这是由你的解析引擎的性质决定的,你关心的是C和C++的真正方言(ANSI?GNU?C99?C++ 11?ms?)。p> 构建一个工作C++解析器真的很难。请参阅我的答案,了解其中的一些原因。如果您想要一个“好”的解析器,我建议您使用现有的解析器之一。值得一看的可能是,因为它是开源的。+1链接。我相信Eclipse是一个开源IDE。看看Balkkishe

因此,我正在寻找一本C/C++BNF语法指南,其中包含匹配各种产品/规则的代码示例。有没有?

超链接(声称的)语法不一定是可以轻松构建解析器的语法。这是由你的解析引擎的性质决定的,你关心的是C和C++的真正方言(ANSI?GNU?C99?C++ 11?ms?)。p>
<>构建一个工作C++解析器真的很难。请参阅我的答案,了解其中的一些原因。如果您想要一个“好”的解析器,我建议您使用现有的解析器之一。值得一看的可能是,因为它是开源的。

+1链接。我相信Eclipse是一个开源IDE。看看Balkkisher,我对C++和C++中常见的构造感兴趣,比如声明器。@ ItEnfx,AH,好吧,我以为你只对C++感兴趣。@ IAMMLIN,你是指在Eclipse中查看解析器代码的注释吗?没有使用现有的高质量解析器的任何特殊原因。(LyCouLon想到了,或者,如果你能节省一分钱,EDG)。创建一个符合C++的解析器是一种痛苦的困扰。难怪EDG为其高质量的产品收取优质的资金。好吧,它不是从零开始的——已经有一个解析器(IDE是KDebug 4),我想稍微改进它。解析器将是。C++11。但是谢谢你的链接;我会看一下……不幸的是,Elsa不是C++11。而且,C++11解析器(包括类型检查)实际上比C++98解析器(带有相应的类型检查)要多得多。