Return-Path: X-Original-To: apmail-flex-dev-archive@www.apache.org Delivered-To: apmail-flex-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3CCCF9900 for ; Wed, 6 Mar 2013 17:33:30 +0000 (UTC) Received: (qmail 57362 invoked by uid 500); 6 Mar 2013 17:33:29 -0000 Delivered-To: apmail-flex-dev-archive@flex.apache.org Received: (qmail 57332 invoked by uid 500); 6 Mar 2013 17:33:29 -0000 Mailing-List: contact dev-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list dev@flex.apache.org Received: (qmail 57322 invoked by uid 99); 6 Mar 2013 17:33:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Mar 2013 17:33:29 +0000 X-ASF-Spam-Status: No, hits=2.9 required=5.0 tests=KHOP_JS_OBFUSCATION,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [69.167.147.50] (HELO franklin.liquidweb.com) (69.167.147.50) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Mar 2013 17:33:23 +0000 Received: from localhost ([127.0.0.1]:32949) by franklin.liquidweb.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80) (envelope-from ) id 1UDID8-0002iQ-1L for dev@flex.apache.org; Wed, 06 Mar 2013 12:33:02 -0500 Received: from 72.92.133.56 ([72.92.133.56]) by franklin.liquidweb.com (Horde Framework) with HTTP; Wed, 06 Mar 2013 12:33:01 -0500 Message-ID: <20130306123301.89706incrzxu05hp@franklin.liquidweb.com> Date: Wed, 06 Mar 2013 12:33:01 -0500 From: Michael Schmalle To: dev@flex.apache.org Subject: Re: [FalconJx] binary operator parenthesis References: <20130306102214.19999nmuuoslpc86@franklin.liquidweb.com> <20130306103719.14726k0b7d7grijz@franklin.liquidweb.com> <20130306111138.46456rfzu56z1nzu@franklin.liquidweb.com> <20130306112907.1473370lwdoqlmfn@franklin.liquidweb.com> In-Reply-To: <20130306112907.1473370lwdoqlmfn@franklin.liquidweb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.8) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - franklin.liquidweb.com X-AntiAbuse: Original Domain - flex.apache.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - teotigraphix.com X-Get-Message-Sender-Via: franklin.liquidweb.com: authenticated_id: teotigra/from_h X-Source: X-Source-Args: X-Source-Dir: X-Virus-Checked: Checked by ClamAV on apache.org I'm going to commit my changes; I ignored 3 unit tests that I will get back to. I am not decided on how String literals are handled when a member field resolves to a String type. I have normal string concatenation not being parened IE "foo" + "bar" + "baz". I know how to fix it, just going to give my head time to think about it. But right now "foo" + bar + "baz" is getting ("foo" + bar) + "baz", I will fix this when I get the head. Other than that all tests pass. Mike Quoting Michael Schmalle : > Heh, > > I wouldn't say awesome but I'm beginning to like this visitor > framework more every day because this fix wasn't intrusive at all. > > This proves we have it working right; Here is a test that is just plain weird > > a = (a + b) - c + d * e; > > It now produces; > > a = (((a + b) - c) + (d * e)) > > Notice how it automatically gets the multiply right and deals with > the addition paren first. > > I might try to work on that outer paren in an assignment expression > but we could just leave it as is and it would be fine, just adds a > bit more k to a generated file. :) > > THere might be some edge cases but I will worry about those later. > > Mike > > > > Quoting Erik de Bruin : > >>> You're not think 5th dimensionally here; >> >> I rarely venture in such an integer state of mind. I'm more of a >> fractal kinda guy :-) >> >>> Currently without fixing this bug a use has the expression statement of; >>> >>> var a = ((a + b) - (c + d)) * e; >>> >>> They use the compiler, it checks out fine, FalconJx is currently rendering >>> to JavaScript that will get executed; >>> >>> var a = a + b - c + d * e; >>> >>> See a problem here? >> >> Yes, that's why I wrote you that TODO in the test ;-) >> >>> I have tested a fix that produces; >>> >>> var a:* = ((a + b) - (c + d)) * e; >> >> You are awesome! I might have to come visit you in your universe >> sometimes, I'm sure you over-hyper-cube-landers can teach me a trick >> or two. >> >> Looking forward to you commit, >> >> Have fun! >> >> EdB >> >> >> >> -- >> Ix Multimedia Software >> >> Jan Luykenstraat 27 >> 3521 VB Utrecht >> >> T. 06-51952295 >> I. www.ixsoftware.nl >> > > -- > Michael Schmalle - Teoti Graphix, LLC > http://www.teotigraphix.com > http://blog.teotigraphix.com > > -- Michael Schmalle - Teoti Graphix, LLC http://www.teotigraphix.com http://blog.teotigraphix.com