Phil, In my test, Clipper did NOT optimize at all, Upper()/Lower()/Asc()/Chr(). Here is my simple test:
PROCEDURE Main() LOCAL c1 := Upper( "Hello" ), c2 := Lower( "World" ) LOCAL c3 := Chr( 65 ) LOCAL n1 := Asc( "A" ) ? c1, c2, c3, n1 RETURN What am I missing? Ron -------------------------------------------------- From: "Phil Krylov" <p...@newstar.rinet.ru> Sent: Tuesday, March 10, 2009 4:43 PM To: "Ron Pinkas" <ron.pin...@xharbour.com> Cc: "Miguel Angel Marchuet" <miguelan...@marchuet.net>; <modals...@yahoo.com.br>; "Xharbour-Developers List" <xharbour-developers@lists.sourceforge.net> Subject: Re: [xHarbour-developers] Upper() and codepage. > Hi, > > On Tue, Mar 10, 2009 at 7:04 PM, Ron Pinkas <ron.pin...@xharbour.com> > wrote: >> Hi All, >> >> I just checked Clipper PCODE, and it seems we were wrong. Clipper does >> NOT >> optimize Upper(), NOR Chr(), I wonder how/why we concluded they are >> optimized - anyone remember? >> >> At the absence of any correction to my observation, I'd like to simply >> comment out the above optimizations, and proceed with releasing. >> >> Anyone aware of any SHOW STOPPER, or would like to post any other commit? > > There is this info in Harbour ChangeLog: > > 2007-06-04 22:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) > * harbour/include/hbexprb.c > * harbour/include/hbexprop.h > * harbour/source/common/expropt2.c > * restored Mindaugas code for UPPER optimization and added logic to > optimize UPPER for strings with only Latin letters, digit and spaces > just like in Clipper. Now code like: > ? Upper( chr(65)+chr(66)+chr(67)+"0123 QWE asd " ) + "ZXC" > is fully optimized at compile time to single string expression. > > It seems only strings consisting only of [A-Za-z0-9 ] letters are > optimized. > I don't currently have a working Clipper compiler to check, please do > it if you wish, but it looks a sane solution (failing only for Turkish > codepage where uppercase for "i" will be "uppercase i with dot > above"). > > -- Ph. > ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ xHarbour-developers mailing list xHarbour-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xharbour-developers