Re: Writing a C Compiler: lvalues

lawrence.jones@siemens.com
Mon, 24 May 2010 18:28:54 -0400

          From comp.compilers

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)
| List of all articles for this month |

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


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.