Hey man, I started with the European version of it [1] in 83, I new so well its 
processor :-) and I did the same school than you btw !

> So you could say it has been a mystical journey for me. :) haha

:-)

Frédéric THOMAS
[1] https://en.wikipedia.org/wiki/Matra_Alice

----------------------------------------
> Date: Thu, 9 Jul 2015 14:02:34 -0400
> Subject: Re: [FalconJX] Collection Imports branch
> From: teotigraphix...@gmail.com
> To: dev@flex.apache.org
>
> My first programming experience was a TRS-80 and BASIC. I am also self
> taught, no school. I went to college for land Surveying in the late 90's,
> used AutoCAD extensively, and now I program, go figure.
>
> Why parsers? I think in 2008 or so I had a vision of just what a parser was
> and how primal the concept really is, it's what our brain does. Lexers and
> Parsers are a perfect mirror of how are brain receives, sorts and make
> meaning out of the randomness of life.
>
> So you could say it has been a mystical journey for me. :) haha
>
> Mike
>
> On Thu, Jul 9, 2015 at 1:53 PM, Frédéric THOMAS <webdoubl...@hotmail.com>
> wrote:
>
>>> Well not so much compilers, I am still a newbie when it comes to byte
>> code
>>> stuff and binary math/operations etc.
>>>
>>> But I know parsers/lexers/scanners/AST pretty freaking well. ;-)
>>
>> Hehe, except of the emitting part, that's all the compiler though, well
>> done !! ;-)
>>
>> I'm only an autodidact coder lover who started as kid with Basic, ASM, DOS
>> / Windows 3.0 programming, then, mainframe (Cobol / CICS), 12 years in
>> Microsoft dev, PHP / JS and full stack Java / Flex with all the common
>> testing / industrialisation tools around who is now interested in
>> compilers, better late than never but I have a lot to learn, it is so
>> different from all what I did before :-)
>>
>> Thanks again for your help.
>> Frédéric THOMAS
>>
>>
>> ----------------------------------------
>>> Date: Thu, 9 Jul 2015 13:25:28 -0400
>>> Subject: Re: [FalconJX] Collection Imports branch
>>> From: teotigraphix...@gmail.com
>>> To: dev@flex.apache.org
>>>
>>> On Thu, Jul 9, 2015 at 1:10 PM, Frédéric THOMAS <webdoubl...@hotmail.com
>>>
>>> wrote:
>>>
>>>>> It's antlr 3 grammar if I remember correctly, hah maybe even antlr 2. I
>>>>> can't remember.
>>>>
>>>> I would guess 2 because I've seem ANTLR 3 examples and the grammar
>> version
>>>> was in, never seen it with previous ones, I could be wrong.
>>>>
>>>>> It can't be used in it's current state because of the LinkedList class
>> I
>>>>> used but the grammar could be the start of an antlr grammar Falcon
>> could
>>>>> use if that is your question. And yes, then it could replace JFlex
>>>> because
>>>>> we would then have an ASDocParser class generated from antlr.
>>>>
>>>> Cool, I'm happy you know and did so much things on compilers, I will
>>>> probably come back to you and discuss it here when I will have get more
>>>> knowledges and will have done my experiments.
>>>>
>>>>
>>> Well not so much compilers, I am still a newbie when it comes to byte
>> code
>>> stuff and binary math/operations etc.
>>>
>>> But I know parsers/lexers/scanners/AST pretty freaking well. ;-)
>>>
>>> Mike
>>>
>>>
>>>
>>>> Cheers,
>>>> Frédéric THOMAS
>>>>
>>>>
>>>> ----------------------------------------
>>>>> Date: Thu, 9 Jul 2015 12:59:04 -0400
>>>>> Subject: Re: [FalconJX] Collection Imports branch
>>>>> From: teotigraphix...@gmail.com
>>>>> To: dev@flex.apache.org
>>>>>
>>>>> On Thu, Jul 9, 2015 at 12:54 PM, Frédéric THOMAS <
>>>> webdoubl...@hotmail.com>
>>>>> wrote:
>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>> https://github.com/teotigraphix/as3-commons-jasblocks/blob/master/src/main/java/org/as3commons/asblocks/parser/antlr/asdoc/ASDoc.g
>>>>>>
>>>>>> Hum, I don't know how to read JFlex and ANTLR yet and then, I'm not
>> sure
>>>>>> what I'm seeing here, is that a ANTLR ASDoc grammar that could replace
>>>> the
>>>>>> JFlex one ?
>>>>>>
>>>>>
>>>>> It's antlr 3 grammar if I remember correctly, hah maybe even antlr 2. I
>>>>> can't remember.
>>>>>
>>>>> It can't be used in it's current state because of the LinkedList class
>> I
>>>>> used but the grammar could be the start of an antlr grammar Falcon
>> could
>>>>> use if that is your question. And yes, then it could replace JFlex
>>>> because
>>>>> we would then have an ASDocParser class generated from antlr.
>>>>>
>>>>> Mike
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Frédéric THOMAS
>>>>>>
>>>>>>
>>>>>> ----------------------------------------
>>>>>>> Date: Thu, 9 Jul 2015 12:19:16 -0400
>>>>>>> Subject: Re: [FalconJX] Collection Imports branch
>>>>>>> From: teotigraphix...@gmail.com
>>>>>>> To: dev@flex.apache.org
>>>>>>>
>>>>>>> FYI, I did this way back in 2010. :)
>>>>>>>
>>>>>>>
>>>>>>
>>>>
>> https://github.com/teotigraphix/as3-commons-jasblocks/blob/master/src/main/java/org/as3commons/asblocks/parser/antlr/asdoc/ASDoc.g
>>>>>>>
>>>>>>> Mike
>>>>>>>
>>>>>>> On Thu, Jul 9, 2015 at 12:17 PM, Michael Schmalle <
>>>>>> teotigraphix...@gmail.com
>>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Jul 9, 2015 at 12:01 PM, Frédéric THOMAS <
>>>>>> webdoubl...@hotmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>> You're not traversing anything, it just happens that the base
>> class
>>>> is
>>>>>>>>>> abstract and defines callbacks for recursion. In your case you
>> just
>>>>>>>>> want a
>>>>>>>>>> "processing" compiler pass.
>>>>>>>>>>
>>>>>>>>>> A plain old compiler pass wouldn't require visiting all nodes,
>> just
>>>> a
>>>>>>>>>> process().
>>>>>>>>>>
>>>>>>>>>> Don't worry about it, the two you overrode are just stubs.
>>>>>>>>>
>>>>>>>>> Well, I got I did an override :-) I just was trying to understand
>> the
>>>>>>>>> base classes.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> The base class why my design and for all the passes I did, I needed
>>>> the
>>>>>>>> callbacks. See NodeTraversal.travese() I think it is, that is what
>>>>>> actually
>>>>>>>> calls the callbacks and shouldTravese(), it's in the GCC API.
>>>>>>>>
>>>>>>>> You could have just implemented Callback with process() and created
>>>> your
>>>>>>>> won constructor if that makes it more clear, it wasn't neccessary to
>>>>>>>> subclass but, it was there so, ya know. :)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Anyway, thanks again Mike for your explanations !
>>>>>>>>>
>>>>>>>>> I will now go back on Falcon starting from the beginning trying to
>>>>>>>>> understand the scan / parse phase, even if I understand
>>>>>> approximatively how
>>>>>>>>> theoretically it should work, it seems a huge thing to me in
>> there, I
>>>>>> see
>>>>>>>>> JFlex, ANTLR, btw I thought it was possible to do the scan / parse
>>>> with
>>>>>>>>> ANTLR only, am I wrong ? if not why are we using JFlex too ?
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> JFlex is used to create the RawASDocTokenizer. So yes, if a grammar
>>>> was
>>>>>>>> created for asdoc parsing in antlr, we could get rid of JFlex
>>>> dependency
>>>>>>>> because I think that is the only place it's used.
>>>>>>>>
>>>>>>>> Mike
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> I will try to experiment, even with ANTLR4.x
>>>>>>>>>
>>>>>>>>> Frédéric THOMAS
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----------------------------------------
>>>>>>>>>> Date: Thu, 9 Jul 2015 11:25:09 -0400
>>>>>>>>>> Subject: Re: [FalconJX] Collection Imports branch
>>>>>>>>>> From: teotigraphix...@gmail.com
>>>>>>>>>> To: dev@flex.apache.org
>>>>>>>>>>
>>>>>>>>>> You're not traversing anything, it just happens that the base
>> class
>>>> is
>>>>>>>>>> abstract and defines callbacks for recursion. In your case you
>> just
>>>>>>>>> want a
>>>>>>>>>> "processing" compiler pass.
>>>>>>>>>>
>>>>>>>>>> A plain old compiler pass wouldn't require visiting all nodes,
>> just
>>>> a
>>>>>>>>>> process().
>>>>>>>>>>
>>>>>>>>>> Don't worry about it, the two you overrode are just stubs.
>>>>>>>>>>
>>>>>>>>>> Mike
>>>>>>>>>>
>>>>>>>>>> On Thu, Jul 9, 2015 at 11:13 AM, Frédéric THOMAS <
>>>>>>>>> webdoubl...@hotmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>>> Other than that, merge/commit it man! thanks, looks good to me,
>> we
>>>>>>>>> will
>>>>>>>>>>> see
>>>>>>>>>>>> if anything else comes up.
>>>>>>>>>>>
>>>>>>>>>>> Thanks, done !
>>>>>>>>>>>
>>>>>>>>>>> But I'm still confuse with the pattern:
>>>>>>>>>>>
>>>>>>>>>>> I didn't get well this thing about pre / post order in the
>> Callback
>>>>>>>>>>> interface maybe I didn't get what it means, isn't supposed to be
>>>>>>>>> recursive
>>>>>>>>>>> descendant only, how does it work ?
>>>>>>>>>>> I used process() which traverseRoots of both externs (the most
>> out
>>>> of
>>>>>>>>>>> parent) and the given node, why 2 nodes have to be traversed in
>> the
>>>>>>>>> same
>>>>>>>>>>> function ?
>>>>>>>>>>>
>>>>>>>>>>> Frédéric THOMAS
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ----------------------------------------
>>>>>>>>>>>> Date: Wed, 8 Jul 2015 16:46:34 -0400
>>>>>>>>>>>> Subject: [FalconJX] Collection Imports branch
>>>>>>>>>>>> From: teotigraphix...@gmail.com
>>>>>>>>>>>> To: dev@flex.apache.org
>>>>>>>>>>>>
>>>>>>>>>>>> Hey Fred,
>>>>>>>>>>>>
>>>>>>>>>>>> Couple things;
>>>>>>>>>>>>
>>>>>>>>>>>> 1. CollectImportsPass
>>>>>>>>>>>>
>>>>>>>>>>>> Should probably be; (process() only gets called once)
>>>>>>>>>>>>
>>>>>>>>>>>> @Override
>>>>>>>>>>>> public void process(Node externs, Node root)
>>>>>>>>>>>> {
>>>>>>>>>>>> for (ClassReference reference : model.getClasses())
>>>>>>>>>>>> {
>>>>>>>>>>>> collectClassImports(reference);
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> for (FunctionReference reference : model.getFunctions())
>>>>>>>>>>>> {
>>>>>>>>>>>> collectFunctionImports(reference);
>>>>>>>>>>>> }
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> @Override
>>>>>>>>>>>> public boolean shouldTraverse(final NodeTraversal nodeTraversal,
>>>>>> final
>>>>>>>>>>>> Node n, final Node parent)
>>>>>>>>>>>> {
>>>>>>>>>>>> return false;
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> @Override
>>>>>>>>>>>> public void visit(final NodeTraversal t, final Node n, final
>> Node
>>>>>>>>>>>> parent)
>>>>>>>>>>>> {
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Other than that, merge/commit it man! thanks, looks good to me,
>> we
>>>>>>>>> will
>>>>>>>>>>> see
>>>>>>>>>>>> if anything else comes up.
>>>>>>>>>>>>
>>>>>>>>>>>> Mike
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>
                                          

Reply via email to