Excellent. Mike, question: can we somehow separate out the 'goog' specific code some more? Just wondering... If someone wants to start a different parsing for JS, it might be less work to separate out 'goog' entirely at this point than try and do that only when the need arises. I was thinking about the JSDocEmitter, which can do with an extra layer of abstraction, I think. And some code in JSEmitter is also 'goog' specific. As this requires 'some' refactoring, I'm hesitant to start without consulting with you first ;-)
EdB On Thu, Dec 27, 2012 at 2:21 PM, Michael Schmalle <apa...@teotigraphix.com> wrote: > Looks good Erik! > > Welcome to the party. Like I said, lets try to communicate what we are > working on so we aren't creating merge conflicts, I hate those. > > Not much I would have done differently. Just 1 thing; > > Pay special attention to indents a newlines. > > foo.bar.A.method1 = function(p1, p2, p3, p4) { > p3 = typeof p3 !== 'undefined' ? p3 : 3; > p4 = typeof p4 !== 'undefined' ? p4 : 4; > > return p1 + p2 + p3 + p4; > } > > > should probably be; > > foo.bar.A.method1 = function(p1, p2, p3, p4) { > p3 = typeof p3 !== 'undefined' ? p3 : 3; > p4 = typeof p4 !== 'undefined' ? p4 : 4; > return p1 + p2 + p3 + p4; > } > > Without the newline to keep the code generation consistent. How would I get > it to work? ...svn update :) > > Check out my last commit 5 minutes ago. If you are confused why and what I > did ask. > > PS For block headers, there is a special handling of indents with no body > code AST. > > > Mike > > > > Quoting Erik de Bruin <e...@ixsoftware.nl>: > >> Mike, >> >> I've implemented and committed an alternative way of handling default >> parameter values, including a test. Not particularly to make my point >> with regard to which we should use (if we have to chose at all), but >> mostly to see how I can contribute from my end. >> >> Please let me know how I did and what you would like me to do >> differently. Thanks. >> >> EdB >> >> >> >> On Thu, Dec 27, 2012 at 11:56 AM, Michael Schmalle >> <apa...@teotigraphix.com> wrote: >>> >>> Hey, >>> >>> I have no plans other than to keep trudging away. There is still a lot of >>> work to be done. >>> >>> As far as moving to the falcon repo, I don't want to do that yet. You are >>> more than welcome to commit code where it is (just happens to be in my >>> whiteboard). >>> >>> Did you notice what I did to implement the parameters? If you havn't, you >>> might want to take a look at the commit and diffs. >>> >>> The object is to NOT comment out or override anything in the >>> ASBlockWalker. >>> I refactored that parameter code to the base ASEmitter, added API and >>> then >>> overrode the method in JSGoogEmitter. Get it? >>> >>> Also did a trick to allow a hook into the beginning of a function block >>> to >>> inject code. We can do that anywhere it's needed, I don't see a lot of >>> situations like that though. >>> >>> Rules are, you change something before you commit ALL unit tests must >>> pass, >>> how ever you changed code. >>> >>> This is exactly why I want it in the whiteboard still, I don't want >>> people >>> looking at it in falcon "thinking" something that it is not yet. >>> >>> PS You should post a thread here what you are currently working on so I >>> don't step on your feet. >>> >>> Oh yeah, I have had plenty of out of body experiences through the years >>> gazing at parser and compiler code, so I know exactly what you are >>> talking >>> about, I guess in current times, it's the light bulb going off. :) >>> >>> Mike >>> >>> >>> >>> Quoting Erik de Bruin <e...@ixsoftware.nl>: >>> >>>> Mike, >>>> >>>> I've spent some time with the js.codegen this week... Nietzsche was >>>> right: "Battle not with monsters lest ye become a monster; and if you >>>> gaze into the abyss the abyss gazes into you." Having said that, I >>>> think I might be ready to contribute to that part of FalconJx. >>>> >>>> What are your plans (moving the project to the falcon/ repo so 'the >>>> public' can commit; refactoring, etc.)? >>>> >>>> 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 >>> >> >> >> >> -- >> 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 > -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl