incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Schmalle <apa...@teotigraphix.com>
Subject Re: [FalconJx::GoogEmmitter] Moving forward
Date Thu, 27 Dec 2012 14:18:42 GMT
Sounds fine to me.

I'm still on vacation here, with a huge snow storm, so my day is going  
to consist of moving snow and clearing driveways.

I might do that refactor later, but I'm not sure today. :)

Mike


Quoting Erik de Bruin <erik@ixsoftware.nl>:

> My day is really nearly over, so I won't do anything but dig around a
> bit more to get more 'into' the code. So you go ahead with your todo,
> please.
>
> Once I've figured out what I can do and how I should do it, I'll
> notify you to see if we're in a state to receive my efforts.
>
> Ok?
>
> EdB
>
>
>
> On Thu, Dec 27, 2012 at 3:09 PM, Michael Schmalle
> <apache@teotigraphix.com> wrote:
>>
>> Quoting Erik de Bruin <erik@ixsoftware.nl>:
>>
>>> 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 ;-)
>>
>>
>> Actually, the intent was that the JSEmitter holds all code that is universal
>> to JS.
>>
>> You are seeing reminiscence of goog because I haven't taken it all out yet
>> with the refactors.
>>
>> So, goog needs to be completely ripped out of the JSEmitter. I really don't
>> think we need another layer, since if you take out the goog stuff from
>> JSEmitter like I was going to do, you already have that layer in the
>> JSGoogEmitter.
>>
>> Does this make sense?
>>
>> The jsdoc emitter is the same, I need an injection point to give the emitter
>> an instance of it from the backend implementation. Probably need an
>> interface like IDocEmitter the IJSGoogEmitter extends.
>>
>> Anyway, what do you want to do, because that is to close of quarters for me
>> to work today if you are refactoring the JSEmitter.
>>
>> Mike
>>
>>
>>
>>
>>
>>> EdB
>>>
>>>
>>> On Thu, Dec 27, 2012 at 2:21 PM, Michael Schmalle
>>> <apache@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 <erik@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
>>>>> <apache@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 <erik@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
>>>
>>
>> --
>> 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


Mime
View raw message