【问题标题】:Is there a standard C++ grammar?有标准的 C++ 语法吗?
【发布时间】:2011-02-20 10:39:22
【问题描述】:

标准是否规定了官方的 C++ 语法?

我搜索了,但在任何地方都没有找到。

另外,我希望详细了解 C++ 语法,例如它属于哪类语法等。任何指向正确方向的链接都会有所帮助。

按类别,我的意思是

取自here

【问题讨论】:

  • 类别是“可怕的混乱”。

标签: c++ standards grammar context-free-grammar chomsky-hierarchy


【解决方案1】:

是的,确实如此。

语法在整个标准中都有详细描述,并在附录 A:语法摘要中进行了总结(它是 C++03 标准和 C++0x 最终委员会草案中的附录 A)。

您可以purchase the C++03 standarddownload the C++0x FCD(该页面上的文档n3092)。

回答“它属于哪个类别?”问题,the C++ grammar is not context-free(另请参阅该问题的答案中链接的问题;他们有与 C++ 语法和解析 C++ 相关的问题的其他示例)。

【讨论】:

【解决方案2】:

Alessio Marchetti 在http://www.nongnu.org/hcb/ 上发布了一个用于 C++ 的超链接 BNF 语法。

将所有内容链接在一起并在一个页面上便于在规则之间导航。

【讨论】:

  • 如果有更新就好了
  • 消息来源说是2018年更新的,不过好像还是pre-c++11还是github.com/alx71hub/hcb
【解决方案3】:

Andrew Birkett 对解析 C++ on his web site 进行了全面的概述。它涵盖了创建 C++ 语法的一些困难(混合词法、句法和语义分析),并包含几个 C++ 语法的链接。

【讨论】:

    【解决方案4】:

    C++ 的创造者 Bjarne Stroustrup 写了一本名为《C++ 编程语言》的书,该书已经更新了很多次(大约 10 年前我读过第 3 版)。我记得它有关于语法(预处理器和编译器)的非常技术性的细节。

    您可能可以在当地的书店找到这本书,它可能比 ANSI 的标准文档为您提供更多的乐趣,具体取决于您需要的具体程度。

    【讨论】:

      【解决方案5】:

      不确定,但据我所知,James McNellis 的链接(指向 pdf)在第一页包含一条注释:

      警告

      本文档不是 ISO 国际标准。它是 分发以供审查和评论。它 如有更改,恕不另行通知 并且可能不会被称为 国际标准。

      所以,经过搜索,我认为这是官方 ISO 的正确链接: http://www-d0.fnal.gov/~dladams/cxx_standard.pdf

      【讨论】:

      • 我链接的 PDF 是为即将到来的 C++0x 标准的最终委员会草案;它是下一个 C++ 标准的最新版本,由于尚未完成和批准,它不是“官方的”。您链接到的 PDF 是 C++98 标准,在 2003 年对其进行了多次更正以提供 C++03 标准;大多数变化都很小,但也有一些很大的变化。我实际上有点惊讶有一个免费提供的 PDF。我相信合法获得 ISO 标准副本的唯一方法是购买它(通过我提供的链接)。
      • 那么我们今天都学到了一些新东西 - 你,这些 ISO 文档是免费提供的,我,你提供的链接是我想保留在我的电脑中的(:谢谢!
      猜你喜欢
      • 2021-04-26
      • 1970-01-01
      • 2011-05-28
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      相关资源
      最近更新 更多