flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Schmalle <teotigraphix...@gmail.com>
Subject Re: [FalconJX] Parse JavaScript extern files to create ActionScript API
Date Thu, 04 Jun 2015 19:12:25 GMT
The way I did it was, I did exactly what you did, implemented the
ASDocDelegate and saved the tokes as it parsed all the files.

Then I used the token String like you in the ASDocTokenizer to parse the
loop I showed you above.

I would add the DocTag and stuff if you can get the ASDocTokenizer working
like how I have it in the code above. I already wrote an API for easy
access to the tags and comment in an ASDocCOmment class that has a list of
DocTags.

Mike

On Thu, Jun 4, 2015 at 3:09 PM, Alex Harui <aharui@adobe.com> wrote:

> For this exercise though, we don’t care about the output as Velocity or
> XSL right?  All you want is ASDocTokens in the AST?  IIRC, in Falcon you
> retrieve ASDoc comments via node.getASDocComment() and get an ASDocComment
> instance.  Do you want the Token to be the root of a mini-tree of parsed
> nodes?
>
> -Alex
>
>
> On 6/4/15, 11:47 AM, "Michael Schmalle" <teotigraphixllc@gmail.com> wrote:
>
> >I actually wrote a WHOLE NEW asdoc program that uses Apache Velocity
> >templates instead of XSL.
> >
> >That DocTag is my class.
> >
> >Mike
> >
> >On Thu, Jun 4, 2015 at 2:45 PM, Alex Harui <aharui@adobe.com> wrote:
> >
> >> I don’t see any signs of ASDoc support in flex-falcon.  I see
> >> ASDocTokenizer and ASDocToken, but no ASDOC.java that would be
> >>equivalent
> >> to MXMLC.java and have a main() method.  The current Flex SDK has an
> >> ASDoc.jar.  Shouldn’t we have these pieces? Do you have them around
> >> somewhere?   Otherwise I will try to quickly create them.
> >>
> >> -Alex
> >>
> >> On 6/4/15, 11:36 AM, "Michael Schmalle" <teotigraphixllc@gmail.com>
> >>wrote:
> >>
> >> >BTW, the loop always happens at the VERY end of the comment, so when
> >>you
> >> >get to the end the(the last call of next() that should return null);
> >> >
> >> >tok = tokenizer.next();
> >> >
> >> >never returns, it gets stuck trying to exit.
> >> >
> >> >Mike
> >> >
> >> >On Thu, Jun 4, 2015 at 2:34 PM, Michael Schmalle
> >> ><teotigraphixllc@gmail.com>
> >> >wrote:
> >> >
> >> >> I posted about this a couple weeks ago and I tried recompiling with
> >> >>JFlex
> >> >> 1.5 I think, the older version and still had the problem.
> >> >>
> >> >> Maybe I messed up something but I tried with my same asdoc code when
> >>I
> >> >> fixed the build for the FlexJS asdocs. I wanted to see it work with
> >>my
> >> >> version of a documentor.
> >> >>
> >> >> I think IIRC, I actually tried a simple test case and it would work.
> >> >>
> >> >> I have code that uses the tokenizer;
> >> >>
> >> >>
> >> >>     public void compile()
> >> >>     {
> >> >>         if (token == null)
> >> >>             return;
> >> >>
> >> >>         String data = token.getText();
> >> >>         ASDocTokenizer tokenizer = new ASDocTokenizer(false);
> >> >>         tokenizer.setReader(new StringReader(data));
> >> >>         ASDocToken tok = tokenizer.next();
> >> >>         boolean foundDescription = false;
> >> >>         DocTag pendingTag = null;
> >> >>
> >> >>         try
> >> >>         {
> >> >>             while (tok != null)
> >> >>             {
> >> >>                 if (!foundDescription
> >> >>                         && tok.getType() ==
> >> >>ASTokenTypes.TOKEN_ASDOC_TEXT)
> >> >>                 {
> >> >>                     description = tok.getText();
> >> >>                 }
> >> >>                 else
> >> >>                 {
> >> >>                     // do tags
> >> >>                     if (tok.getType() ==
> >>ASTokenTypes.TOKEN_ASDOC_TAG)
> >> >>                     {
> >> >>                         if (pendingTag != null)
> >> >>                         {
> >> >>                             addTag(pendingTag);
> >> >>                             pendingTag = null;
> >> >>                         }
> >> >>                         pendingTag = new
> >> >> DocTag(tok.getText().substring(1));
> >> >>                     }
> >> >>                     else if (tok.getType() ==
> >> >> ASTokenTypes.TOKEN_ASDOC_TEXT)
> >> >>                     {
> >> >>                         pendingTag.setDescription(tok.getText());
> >> >>                         addTag(pendingTag);
> >> >>                         pendingTag = null;
> >> >>                     }
> >> >>                 }
> >> >>
> >> >>                 foundDescription = true;
> >> >>
> >> >>                 tok = tokenizer.next();
> >> >>             }
> >> >>         }
> >> >>         catch (Exception e)
> >> >>         {
> >> >>             e.printStackTrace();
> >> >>         }
> >> >>     }
> >> >>
> >> >> Mike
> >> >>
> >> >>
> >> >> On Thu, Jun 4, 2015 at 2:30 PM, Alex Harui <aharui@adobe.com>
wrote:
> >> >>
> >> >>>
> >> >>>
> >> >>> On 6/4/15, 11:23 AM, "Michael Schmalle" <teotigraphixllc@gmail.com>
> >> >>> wrote:
> >> >>> >>Hmm.  Maybe I should spend some time looking into fixing
> >> >>>ASDocTokenizer?
> >> >>> >> Was the problem that it didn’t work on every AS file
we current
> >> >>>have?
> >> >>> >>
> >> >>> >
> >> >>> >
> >> >>> >It doesn't work on anything, there is an infinite loop in the
> >>scanner
> >> >>> that
> >> >>> >is created by JFlex, the RawASDocTokenizer is broken.
> >> >>> >
> >> >>> >What is weird is I was using the SAME code base when I wrote
the
> >>asdoc
> >> >>> >documenter I have 2 years ago and it worked fine.
> >> >>>
> >> >>> We upgraded the version of JFlex, IIRC.  I’ll take a look.  What
> >>setup
> >> >>>did
> >> >>> you have for trying it?  Did you run it on the Flex SDK or FlexJS
> >>SDK
> >> >>>or
> >> >>> did it even loop on a simple test case?
> >> >>>
> >> >>> -Alex
> >> >>>
> >> >>>
> >> >>
> >>
> >>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message