Related articles |
---|
[10 earlier articles] |
Re: Writing a C Compiler: lvalues kst-u@mib.org (Keith Thompson) (2010-05-19) |
Re: Writing a C Compiler: lvalues bartc@freeuk.com (bart.c) (2010-05-19) |
Re: Writing a C Compiler: lvalues lawrence.jones@siemens.com (2010-05-19) |
Re: Writing a C Compiler: lvalues kst-u@mib.org (Keith Thompson) (2010-05-19) |
Re: Writing a C Compiler: lvalues DrDiettrich1@aol.com (Hans-Peter Diettrich) (2010-05-20) |
Re: Writing a C Compiler: lvalues s_dubrovich@yahoo.com (2010-05-22) |
Re: Writing a C Compiler: lvalues lawrence.jones@siemens.com (2010-05-24) |
From: | lawrence.jones@siemens.com |
Newsgroups: | comp.lang.c,comp.compilers |
Date: | Mon, 24 May 2010 18:28:54 -0400 |
Organization: | Siemens PLM Software |
References: | 10-05-036 10-05-095 10-05-103 10-05-113 10-05-114 |
Keywords: | C, design |
Posted-Date: | 24 May 2010 20:18:27 EDT |
Keith Thompson <kst-u@mib.org> wrote:
>
> A subtle distinction at best. As I wrote upthread, the standard says:
>
> C99 6.3.2.1p2:
>
> Except when it is the operand of [list of operators deleted],
> an lvalue that does not have array type is converted to the value
> stored in the designated object (and is no longer an lvalue).
>
> So in the above context, ``x'' *was* an lvalue, but "is no longer"
> an lvalue.
By that token, it's no longer ``x'' either, it's just the value stored
in x. The wording is a bit odd because lvalue-ness sits firmly on the
fence between syntax and semantics and is thus awkward to talk about
from either side because it doesn't quite fit (which is also why the
definition has been so darned hard to get right).
--
Larry Jones
Return to the
comp.compilers page.
Search the
comp.compilers archives again.