BTW, I just ran my asdoc tool on every project in flex-asjs and it only took 10 seconds(parse, analyze, render), this uses fully configurable Velocity templates instead of XSL.
http://snag.gy/EOIuW.jpg Mike On Fri, Jun 5, 2015 at 3:31 PM, Michael Schmalle <teotigraphix...@gmail.com> wrote: > Alex! I just pulled the changes you made and rebuilt Falcon code base and > parsers. > > I just ran my asdoc tool on the flex-asjs repo, I think another screenshot > is in order. :) > > http://snag.gy/TDXfe.jpg > > Mike > > On Fri, Jun 5, 2015 at 3:06 PM, Alex Harui <aha...@adobe.com> wrote: > >> I just pushed a change that seems to get ASDoc working. There was a rule >> that looked like it tried to eliminate double-spaces and somehow the lexer >> ended up there at the end of string instead of thinking it was done. >> >> I have no idea what that was for since the output currently seems to >> capture line-feeds in the asdoc so whitespace in general probably needs to >> be trimmed before turning it into its final form. >> >> Let me know if you think that lexer rule was important and we can revisit >> why we get stuck there. >> >> -Alex >> >> On 6/4/15, 12:13 PM, "Michael Schmalle" <teotigraphix...@gmail.com> >> wrote: >> >> >Yeah sorry to confuse you, the Velocity stuff doesn't matter, for that >> >matter my asdoc framework I wrote doesn't(it was just showing I had all >> >this working in the context of Falcon), we just need the ASDocTokenizer >> to >> >tokenize the comment data given to the ASDocDelegate. >> > >> >Mike >> > >> >On Thu, Jun 4, 2015 at 3:12 PM, Michael Schmalle >> ><teotigraphix...@gmail.com> >> >wrote: >> > >> >> 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 <aha...@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" <teotigraphix...@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 <aha...@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" <teotigraphix...@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 >> >>> >> ><teotigraphix...@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 <aha...@adobe.com> >> >>> wrote: >> >>> >> >> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> On 6/4/15, 11:23 AM, "Michael Schmalle" >> >>><teotigraphix...@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 >> >>> >> >>> >> >>> >> >>> >> >>> >> >> >> >>> >> >> >>> >> >> >>> >> >>> >> >> >> >> >