Reply to Ellery,
I don't buy that. Not that I'm a C guru or anything, but it looks to
me that Parser::BaseClasses could be easily edited to make the point
in question go away.
it's not a parser thing but a grammar thing. It would be complex to define
a grammar that allows one each of the different types of prefixes that are
allowed:
int a = 5;
auto b = 5;
const c = 5;
static d = 5;
const static int e = 5;
protected const static int f = 5;
static const protected g = 5;
each of those is allow and reasonable in different contexts. To avoid redundant
grammars and inconsistencies they are generalized and also shared with classes,
structs, etc.