declaration | Function, namespace, object, type, template declaration |
translation-unit ::= [declaration-seq] declaration-seq ::= declaration | declaration-seq declaration declaration ::= block-decl | function-decl | template-decl | explicit-instantiation | explicit-specialization | linkage-specification | namespace-defn block-decl ::= simple-decl | asm-defn | namespace-alias-defn | using-decl | using-directive simple-decl ::= [decl-specifier-seq] [init-declarator-list] ; decl-specifier ::= storage-class-specifier | type-specifier | function-specifier | friend | typedef decl-specifier-seq ::= decl-specifier | decl-specifier-seq decl-specifier storage-class-specifier ::= auto | register | static | extern | mutable function-specifier ::= inline | virtual | explicit |
A source file is a sequence of zero or more declarations. See Chapter 2 for a full discussion of declarations.
asm, declarator, function, namespace, template, type, typedef, using, Chapter 2