| fundecl | ::= | [fn_ctype] funinfo * funid ([PARAMSEQ(param, ε)]) { [stmt_seq] } |
| funproto | ::= | [fn_ctype] funinfo * funid ([PARAMSEQ(param, ε)]); |
| funinfo | ::= | inline |
| | | storage | |
| storage | ::= | static |
| | | auto | |
| | | register | |
| | | extern | |
| funid | ::= | id |
| | | metaidId | |
| param | ::= | type id |
| | | metaidParam | |
| | | metaidParamList | |
| decl | ::= | ctype id |
| | | fn_ctype (* id) (PARAMSEQ(name_opt_decl, ε)) | |
| | | void | |
| | | metaidParam |