BCS wrote:
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.
I don't buy that either. The subject was access specifiers for base
classes, not storage classes for declarations or access specifiers for
statements. In those cases I would grant your point, but a base class
has precisely one access specifier and no storage classes. It would not
be complex to define such a grammar and in fact the D grammar does
precisely this.