Path: utzoo!attcan!uunet!husc6!mailrus!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!uw-beaver!uw-june!uw-entropy!dataio!pilchuck!ssc!happym!polari!rlb
From: rlb@polari.UUCP (rlb)
Newsgroups: comp.lang.c++
Subject: Re: unary-expression syntax
Summary: Further grammar questions.
Keywords: new,initializer,C++
Message-ID: <463@polari.UUCP>
Date: 30 May 88 16:28:28 GMT
References: <274@sdti.UUCP>
Organization: Polarserv, Seattle WA
Lines: 21

> ...     Stroustrup
> acknowledges the book's inadequacy in defining C++.  A real language
> definition is in the works.
> --
> Prescott K. Turner, Jr.
> ...

That will be nice!  In the meantime, however, I must continue to glean what
I can from the current manual.  Which brings me to the following interesting
grammar entry:
    elaborated-type-specifier:
        key typedef-name
        key identifier
I find this entirely confusing.  The best guess I have is that this is just
a plain goof-up.  It doesn't seem likely that C++ really intends to allow:
    struct foo a,b,c;
where "foo" has not been seen before.  When I go back to section 8.2 in the
reference manual to look for elucidation on the meaning of "key identifier",
it refers me (indirectly) to the non-terminal "name-declaration".  Is this
production ("key identifier") completely extraneous and if not, what is it for?
-Ron Burk