Previous Up Next

6  Function declarations

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
PARAMSEQ(gram_p, when_p)   ::=  COMMA_LIST(gram_p |[when_p])

Previous Up Next