标准是否指定官方C ++语法?
我搜索过,但没有找到它。
另外,我想详细阅读一些关于C ++语法的内容,比如它所属的语法类别等等。任何指向正确方向的链接都会有所帮助。
按类别,我的意思是
取自here。
答案 0 :(得分:27)
是的,确实如此。
语法在整个标准中有详细描述,并在附录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 ++相关的问题的其他例子。)
答案 1 :(得分:8)
Alessio Marchetti在http://www.nongnu.org/hcb/处为C ++添加了超链接BNF语法。
将所有内容链接在一起并在一个页面上,可以轻松地在规则之间导航。
答案 2 :(得分:5)
Andrew Birkett对解析C ++ on his web site有一个全面的概述。它涵盖了创建C ++语法(混合词法,句法和语义分析)的一些困难,并包含了几个C ++语法的链接。
答案 3 :(得分:2)
C ++的创建者Bjarne Stroustrup写了一本名为The C ++ Programming Language的书,该书已经多次更新(我在大约10年前读过第3版)。我记得它有关于语法的非常技术细节(预处理器和编译器)。
您可以在本地书店找到这本书,它可能比ANSI的标准文件更有乐趣,具体取决于您需要的具体程度。
答案 4 :(得分:0)
不确定但据我所知,James McNellis的链接(到pdf)在第一页上有一个注释:
警告
本文档不是ISO 国际标准。它是 分发审查和评论。它 如有更改,恕不另行通知 并且可能不被称为 国际标准。
所以,搜索,我认为这是官方ISO的正确链接: http://www-d0.fnal.gov/~dladams/cxx_standard.pdf