我昨天做了一个测试,我发现自己必须理解一些我不知道的东西。
请参阅以下页面:
declaration-list:
declaration
declaration-list declaration
declaration-specifiers:
storage-class-specifier declaration-specifiersopt
type-specifier declaration-specifiersopt
type-qualifier declaration-specifiersopt
storage-class specifier: one of
auto register static extern typedef
type specifier: one of
void char short int long float double signed
unsigned struct-or-union-specifier enum-specifier typedef-name
type-qualifier: one of
const volatile
struct-or-union-specifier:
struct-or-union identifieropt { struct-declaration-list }
struct-or-union identifier
struct-or-union: one of
struct union
struct-declaration-list:
struct declaration
struct-declaration-list struct declaration
init-declarator-list:
init-declarator
init-declarator-list, init-declarator
init-declarator:
declarator
declarator = initializer
struct-declaration:
specifier-qualifier-list struct-declarator-list;
specifier-qualifier-list:
type-specifier specifier-qualifier-listopt
type-qualifier specifier-qualifier-listopt
struct-declarator-list:
struct-declarator
struct-declarator-list , struct-declarator
struct-declarator:
declarator
declaratoropt : constant-expression
enum-specifier:
enum identifieropt { enumerator-list }
enum identifier
这是来自 Brian W. Kernighan 所著的《C 编程语言》一书 Dennis M. Ritchie,但我在互联网和许多其他书籍上看到了它。
我尝试用谷歌搜索它,但坦率地说,我不知道它是怎么称呼的,所以我找不到任何相关信息。我们的教授从未强制我们阅读它,我现在相信知道如何阅读它非常重要。
我正在寻找指南引用或有关如何实现它的简短说明。
如果这是转发,我深表歉意,但我找不到任何相关帖子。
最佳答案
第一个定义...
declaration-list:
declaration
declaration-list declaration
...可以理解为:“声明列表可以是一个声明,也可以是一个声明列表后跟一个声明。”
此递归定义允许将以下内容作为声明列表的示例:
- 声明
- 声明声明
- 声明声明声明
- 等等
完整的语法定义将包含描述有效声明的其他规则,等等。
关于c - 如何阅读抽象编程信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45868890/