RE: [PHP-DEV] Labeled Break (nothing at all whatsoever to do withGOTO)

From: Date: Thu, 01 Dec 2005 16:45:40 +0000
Subject: RE: [PHP-DEV] Labeled Break (nothing at all whatsoever to do withGOTO)
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-20963@lists.php.net to get a copy of this message
Good catch. Thanks. I'll fix this and send a new patch. Dmitry. > -----Original Message----- > From: Sara Golemon [mailto:pollita@php.net] > Sent: Thursday, December 01, 2005 7:03 PM > To: Dmitry Stogov; internals@lists.php.net > Cc: Zeev Suraski; Stanislav Malyshev > Subject: Re: [PHP-DEV] Labeled Break (nothing at all > whatsoever to do withGOTO) > > > We're definately on the same page as far as implementation > goals, but I > can't help but notice one problem: > > * labels aren't scoped to functions. The break container > checks prevent > casual jumping, but: > > FOO: do { } while (0); > function bar() { > do { break FOO; } while (0); > } > > Actually compiles legally. Of course the actual break stays > within its > local container, but if/when Jump is introduced to the > mix....well... all > bets are off... > > -Sara > > ----- Original Message ----- > From: "Dmitry Stogov" <dmitry@zend.com> > To: "'Sara Golemon'" <pollita@php.net>; > <internals@lists.php.net> > Cc: "Zeev Suraski" <zeev@zend.com>; "Stanislav Malyshev" > <stas@zend.com> > Sent: Thursday, December 01, 2005 2:45 AM > Subject: RE: [PHP-DEV] Labeled Break (nothing at all whatsoever to do > withGOTO) > > > > Hi Sara, > > > > I made another patch that is based on your ideas. > > > > 1) It uses "right" syntax: > > > > LABEL: while(1) { > > break LABEL; > > } > > > > 2) It doesn't allow usage of same label for different loops > > > > L1: while(1) {...} > > L1: while(1) {...} > > > > 3) It doesn't use executor data structures > > > > 4) It allows reuse of same labels for jump/goto (as was > done in your > > first patch). It already declares "jump LABEL;" operator but emits > > error for now. > > > > I think this patch can be committed and then we can discuss > jump/goto. > > > > Thanks. Dmitry. > > > >

« previous php.internals (#20963) next »