【发布时间】:2011-02-20 10:39:22
【问题描述】:
标准是否规定了官方的 C++ 语法?
我搜索了,但在任何地方都没有找到。
另外,我希望详细了解 C++ 语法,例如它属于哪类语法等。任何指向正确方向的链接都会有所帮助。
按类别,我的意思是
取自here。
【问题讨论】:
-
类别是“可怕的混乱”。
标签: c++ standards grammar context-free-grammar chomsky-hierarchy
标准是否规定了官方的 C++ 语法?
我搜索了,但在任何地方都没有找到。
另外,我希望详细了解 C++ 语法,例如它属于哪类语法等。任何指向正确方向的链接都会有所帮助。
按类别,我的意思是
取自here。
【问题讨论】:
标签: c++ standards grammar context-free-grammar chomsky-hierarchy
是的,确实如此。
语法在整个标准中都有详细描述,并在附录 A:语法摘要中进行了总结(它是 C++03 标准和 C++0x 最终委员会草案中的附录 A)。
您可以purchase the C++03 standard 或download the C++0x FCD(该页面上的文档n3092)。
回答“它属于哪个类别?”问题,the C++ grammar is not context-free(另请参阅该问题的答案中链接的问题;他们有与 C++ 语法和解析 C++ 相关的问题的其他示例)。
【讨论】:
Alessio Marchetti 在http://www.nongnu.org/hcb/ 上发布了一个用于 C++ 的超链接 BNF 语法。
将所有内容链接在一起并在一个页面上便于在规则之间导航。
【讨论】:
Andrew Birkett 对解析 C++ on his web site 进行了全面的概述。它涵盖了创建 C++ 语法的一些困难(混合词法、句法和语义分析),并包含几个 C++ 语法的链接。
【讨论】:
C++ 的创造者 Bjarne Stroustrup 写了一本名为《C++ 编程语言》的书,该书已经更新了很多次(大约 10 年前我读过第 3 版)。我记得它有关于语法(预处理器和编译器)的非常技术性的细节。
您可能可以在当地的书店找到这本书,它可能比 ANSI 的标准文档为您提供更多的乐趣,具体取决于您需要的具体程度。
【讨论】:
不确定,但据我所知,James McNellis 的链接(指向 pdf)在第一页包含一条注释:
警告
本文档不是 ISO 国际标准。它是 分发以供审查和评论。它 如有更改,恕不另行通知 并且可能不会被称为 国际标准。
所以,经过搜索,我认为这是官方 ISO 的正确链接: http://www-d0.fnal.gov/~dladams/cxx_standard.pdf
【讨论】: