From http://www.lysator.liu.se/c/ANSI-C-grammar-y.html.
Improvements.
__attribute__, inline, __asm, __builtin_va_list.
Attempt to parse arbitrary array size expressions.
Attempt to parse function definitions.