From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32621 invoked by alias); 9 Apr 2008 17:48:15 -0000 Received: (qmail 32297 invoked by uid 22791); 9 Apr 2008 17:48:14 -0000 X-Spam-Check-By: sourceware.org Received: from zigzag.lvk.cs.msu.su (HELO zigzag.lvk.cs.msu.su) (158.250.17.23) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 09 Apr 2008 17:47:56 +0000 Received: from Debian-exim by zigzag.lvk.cs.msu.su with spam-scanned (Exim 4.63) (envelope-from ) id 1JjeOk-0005wI-Mr for gdb-patches@sources.redhat.com; Wed, 09 Apr 2008 21:47:53 +0400 Received: from localhost ([127.0.0.1] helo=ip6-localhost) by zigzag.lvk.cs.msu.su with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1JjeOb-0005w2-HD; Wed, 09 Apr 2008 21:47:41 +0400 From: Vladimir Prus To: Eli Zaretskii Subject: Re: [RFA] Document fixed/floating variable objects and thread-id. Date: Wed, 09 Apr 2008 20:37:00 -0000 User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405) Cc: gdb-patches@sources.redhat.com References: <200804041320.00361.vladimir@codesourcery.com> <200804091910.56855.ghost@cs.msu.su> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200804092147.37085.ghost@cs.msu.su> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-04/txt/msg00173.txt.bz2 On Wednesday 09 April 2008 21:05:39 Eli Zaretskii wrote: > > From: Vladimir Prus > > Date: Wed, 9 Apr 2008 19:10:56 +0400 > > Cc: gdb-patches@sources.redhat.com > > > > On Wednesday 09 April 2008 19:00:28 Eli Zaretskii wrote: > > > > From: Vladimir Prus > > > > Date: Wed, 09 Apr 2008 15:59:14 +0400 > > > > > > > > >> +fixed variable object, the expression is parsed when the variable > > > > >> +object is created, including associating indentifiers to specific > > > > >> +variables. The meaning of expression never changes. A floating > > > > >> +variable object has its expression reparsed each time the variable > > > > >> +object is updated. In particular, the meaning of identifiers can > > > > >> +change every time. > > > > > > > > > > Instead of ``meaning'' here, isn't it better to say ``value''? > > > > > > > > Identifier does not have a value. Think of 'i' -- it's just a name. > > > > It is then associated to a specific variable, which variable has value. > > > > What I mean is that association between identifiers to variables can > > > > change for floating variable objects. Of course, the values can also > > > > change, but values can change even for fixed variable objects. > > > > > > > > What's the best way to express this? > > > > > > I don't know yet: what is an ``identifier'' in this context? You > > > don't mean symbols in the source language of the program being > > > debugged, as in your example with `i', do you? > > > > I mean exactly that. variable object is created for an expression. > > That expression, among other things, has identifiers that are resolved > > to refer to variables in the program. > > Then how about ``the values of variables whose names appear in the > expressions are re-evaluated every time''? I'm afraid that this statement is true for fixed variable objects too, and it still makes it sound like we pick variables, and then reevaluate it. Instead, we reparse entire expression which can find completely different variables. - Volodya