Path: utzoo!attcan!uunet!ginosko!brutus.cs.uiuc.edu!apple!usc!merlin.usc.edu!nunki.usc.edu!jeenglis
From: jeenglis@nunki.usc.edu (Joe English)
Newsgroups: comp.lang.c++
Subject: Grammar question
Summary: How different is C++ - extensions from C?
Message-ID: <5426@merlin.usc.edu>
Date: 30 Sep 89 18:51:52 GMT
Sender: news@merlin.usc.edu
Reply-To: jeenglis@nunki.usc.edu (Joe English)
Distribution: na
Organization: University of Southern California, Los Angeles, CA
Lines: 22


It's come up recently in comp.lang.c
that ' (a && b) = 1' is illegal not because
'a && b' isn't semantically an lvalue, but 
because the *grammar* is used to determine
lvalueness.  I'm assuming that this isn't
the case in C++, since  
class_of_a::operator && might return a reference.

So my question is, is the C++ grammar, minus the C++
extensions, different from the C grammar in any way
that would change the meaning of any expression?

That's probably an intractable problem; a better
question would be "What other differences are 
there between the two grammars, and are any
of them significant?"


--Joe English

  jeenglis@nunki.usc.edu