The syntax of C in Backus-Naur Form<translation-unit> ::= {<external-declaration>}* <external-declaration> ::= <function-definition> | <declaration> <function-definition> ::= {<declaration-specifier>}* <declarator> {<declaration>}* <compound-statement> <declaration-specifier> ::= <storage-class-specifier> | <type-specifier> | <type-qualifier> <storage-class-specifier> ::= auto | register | static