Table 2 - A partial grammar for a simplified form of
decl-specifier in C++.
decl-specifier-seq =
{ decl-specifier } .
decl-specifier =
storage-class-specifier |
function-specifier |
type-specifier |
"friend" |
"typedef" .
storage-class-specifier =
"auto" | "register" | "static" | "extern" | "mutable" .
function-specifier =
"inline" | "virtual" | "explicit" .
type-specifier =
cv-qualifier |
simple-type-specifier |
class-specifier |
enum-specifier |
elaborated-type-specifier .
cv-qualifier =
"const" | "volatile" .
simple-type-specifier =
"bool" | "char" | "int" | "wchar_t" |
"double" | "float" |
"void" |
"long" | "short" |
"signed" | "unsigned" |
type-name .
type-name =
class-name | enum-name | typedef-name .