On Jun 5, 2015 3:12 AM, "Michael Schmalle" <teotigraphix...@gmail.com> wrote: > > @Om ... SVG, this should get you excited. :) > > http://snag.gy/xEpfa.jpg > > Mike
Fantastic! What a great way to stay the day :-) When will we able to start testing all this? Thanks, Om > > On Fri, Jun 5, 2015 at 6:02 AM, Michael Schmalle < teotigraphix...@gmail.com> > wrote: > > > BTW I need to brush up on canvas but I see; > > > > So I assume the HTMLCanvasElement.getContext() passes a > > CanvasRenderingContext2D correct? > > > > I can't wait to get out of this compiler stuff and actually try to test > > some of this stuff in the browser. :) > > > > Mike > > > > > > public class CanvasRenderingContext2D { > > ... > > /** > > * @see html5 > > */ > > native public var canvas:HTMLCanvasElement; > > ... > > } > > > > > > > > public class HTMLCanvasElement extends HTMLElement { > > > > native public function HTMLCanvasElement(); > > > > /** > > * @see html5 > > */ > > native public var height:Number; > > > > /** > > * @see html5 > > */ > > native public var width:Number; > > > > /** > > * @see html5 > > */ > > native public function toDataURL(opt_type:String = null, > > ...var_args):String; > > > > /** > > * @see html5 > > */ > > native public function getContext(contextId:String, opt_args:Object = > > null):Object; > > > > } > > > > > > > > On Fri, Jun 5, 2015 at 5:50 AM, Michael Schmalle < > > teotigraphix...@gmail.com> wrote: > > > >> > >> > >> On Fri, Jun 5, 2015 at 12:39 AM, OmPrakash Muppirala < > >> bigosma...@gmail.com> wrote: > >> > >>> Fantastic work, Mike! > >>> > >>> I dont see any SVG elements, is that part of something other spec? > >>> > >> > >> Haven't got that far yet, was busy getting inheritance and edge cases > >> fixed with the base DOM stuff. > >> > >> I have looked through the closure/externs and it doesn't look like they > >> have an SVG.js. If you now, you will need to find one or write it. :) > >> > >> > >>> > >>> On that line, how would one get Canvas, Webgl, etc.? > >>> > >> > >> > >> I think Canavs is HTMLCanvasNode which is in the html5.js externs. > >> > >> WebGL, > >> https://github.com/google/closure-compiler/blob/master/externs/webgl.js > >> > >> Yeah that is today, I will post up when I get them in. > >> > >> Mike > >> > >> > >> > >>> > >>> Thanks, > >>> Om > >>> On Jun 4, 2015 5:31 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote: > >>> > >>> > Agreed! Great stuff, Mike. > >>> > > >>> > - Josh > >>> > > >>> > On Thu, Jun 4, 2015 at 2:07 PM, Alex Harui <aha...@adobe.com> wrote: > >>> > > >>> > > Amazing! > >>> > > > >>> > > On 6/4/15, 2:04 PM, "Michael Schmalle" <teotigraphix...@gmail.com> > >>> > wrote: > >>> > > > >>> > > >Well so far I have got the below compiling into .as classes and > >>> > interfaces > >>> > > >using the following externals files; > >>> > > > > >>> > > >There is a definite order these need to be parsed in, I am still > >>> > figuring > >>> > > >them out. I plan on adding in the asdocs, the version of JS the API > >>> was > >>> > > >introduced in. > >>> > > > > >>> > > >Mike > >>> > > > > >>> > > >html5.js > >>> > > >missing.js > >>> > > >w3c_css.js > >>> > > >w3c_css3d.js > >>> > > >w3c_dom1.js > >>> > > >w3c_dom2.js > >>> > > >w3c_dom3.js > >>> > > >w3c_event.js > >>> > > >w3c_range.js > >>> > > > > >>> > > > > >>> > > >Attr.as > >>> > > >CanvasGradient.as > >>> > > >CanvasPattern.as > >>> > > >CanvasRenderingContext2D.as > >>> > > >CaretPosition.as > >>> > > >CDATASection.as > >>> > > >CharacterData.as > >>> > > >ClientInformation.as > >>> > > >ClientRect.as > >>> > > >ClientRectList.as > >>> > > >Comment.as > >>> > > >Counter.as > >>> > > >CSSCharsetRule.as > >>> > > >CSSFontFaceRule.as > >>> > > >CSSImportRule.as > >>> > > >CSSInterface.as > >>> > > >CSSMatrix.as > >>> > > >CSSMediaRule.as > >>> > > >CSSPageRule.as > >>> > > >CSSPrimitiveValue.as > >>> > > >CSSProperties.as > >>> > > >CSSRule.as > >>> > > >CSSRuleList.as > >>> > > >CSSStyleDeclaration.as > >>> > > >CSSStyleRule.as > >>> > > >CSSStyleSheet.as > >>> > > >CSSUnknownRule.as > >>> > > >CSSValue.as > >>> > > >CSSValueList.as > >>> > > >CustomEvent.as > >>> > > >Database.as > >>> > > >DatabaseCallback.as > >>> > > >DataTransfer.as > >>> > > >DedicatedWorkerGlobalScope.as > >>> > > >Document.as > >>> > > >DocumentCSS.as > >>> > > >DocumentEvent.as > >>> > > >DocumentFragment.as > >>> > > >DocumentRange.as > >>> > > >DocumentStyle.as > >>> > > >DocumentType.as > >>> > > >DOMApplicationCache.as > >>> > > >DOMConfiguration.as > >>> > > >DOMError.as > >>> > > >DOMErrorHandler.as > >>> > > >DOMException.as > >>> > > >DOMImplementation.as > >>> > > >DOMImplementationCSS.as > >>> > > >DOMImplementationList.as > >>> > > >DOMImplementationSource.as > >>> > > >DOMLocator.as > >>> > > >DOMStringList.as > >>> > > >DOMTokenList.as > >>> > > >DragEvent.as > >>> > > >Element.as > >>> > > >ElementCSSInlineStyle.as > >>> > > >Entity.as > >>> > > >EntityReference.as > >>> > > >ErrorEvent.as > >>> > > >Event.as > >>> > > >EventListener.as > >>> > > >EventTarget.as > >>> > > >ExceptionCode.as > >>> > > >FileList.as > >>> > > >FontFace.as > >>> > > >FontFaceSet.as > >>> > > >HashChangeEvent.as > >>> > > >HTMLAnchorElement.as > >>> > > >HTMLAppletElement.as > >>> > > >HTMLAreaElement.as > >>> > > >HTMLAudioElement.as > >>> > > >HTMLBaseElement.as > >>> > > >HTMLBaseFontElement.as > >>> > > >HTMLBodyElement.as > >>> > > >HTMLBRElement.as > >>> > > >HTMLButtonElement.as > >>> > > >HTMLCanvasElement.as > >>> > > >HTMLCollection.as > >>> > > >HTMLContentElement.as > >>> > > >HTMLDetailsElement.as > >>> > > >HTMLDialogElement.as > >>> > > >HTMLDirectoryElement.as > >>> > > >HTMLDivElement.as > >>> > > >HTMLDListElement.as > >>> > > >HTMLDocument.as > >>> > > >HTMLElement.as > >>> > > >HTMLEmbedElement.as > >>> > > >HTMLFieldSetElement.as > >>> > > >HTMLFontElement.as > >>> > > >HTMLFormElement.as > >>> > > >HTMLFrameElement.as > >>> > > >HTMLFrameSetElement.as > >>> > > >HTMLHeadElement.as > >>> > > >HTMLHeadingElement.as > >>> > > >HTMLHRElement.as > >>> > > >HTMLHtmlElement.as > >>> > > >HTMLIFrameElement.as > >>> > > >HTMLImageElement.as > >>> > > >HTMLInputElement.as > >>> > > >HTMLIsIndexElement.as > >>> > > >HTMLLabelElement.as > >>> > > >HTMLLegendElement.as > >>> > > >HTMLLIElement.as > >>> > > >HTMLLinkElement.as > >>> > > >HTMLMapElement.as > >>> > > >HTMLMediaElement.as > >>> > > >HTMLMenuElement.as > >>> > > >HTMLMenuItemElement.as > >>> > > >HTMLMetaElement.as > >>> > > >HTMLModElement.as > >>> > > >HTMLObjectElement.as > >>> > > >HTMLOListElement.as > >>> > > >HTMLOptGroupElement.as > >>> > > >HTMLOptionElement.as > >>> > > >HTMLOptionsCollection.as > >>> > > >HTMLParagraphElement.as > >>> > > >HTMLParamElement.as > >>> > > >HTMLPictureElement.as > >>> > > >HTMLPreElement.as > >>> > > >HTMLQuoteElement.as > >>> > > >HTMLScriptElement.as > >>> > > >HTMLSelectElement.as > >>> > > >HTMLShadowElement.as > >>> > > >HTMLSourceElement.as > >>> > > >HTMLStyleElement.as > >>> > > >HTMLTableCaptionElement.as > >>> > > >HTMLTableCellElement.as > >>> > > >HTMLTableColElement.as > >>> > > >HTMLTableElement.as > >>> > > >HTMLTableRowElement.as > >>> > > >HTMLTableSectionElement.as > >>> > > >HTMLTemplateElement.as > >>> > > >HTMLTextAreaElement.as > >>> > > >HTMLTitleElement.as > >>> > > >HTMLUListElement.as > >>> > > >HTMLVideoElement.as > >>> > > >Image.as > >>> > > >ImageData.as > >>> > > >KeyboardEvent.as > >>> > > >LinkStyle.as > >>> > > >MediaError.as > >>> > > >MediaList.as > >>> > > >MediaQueryList.as > >>> > > >MediaQueryListListener.as > >>> > > >MessageChannel.as > >>> > > >MessageEvent.as > >>> > > >MessagePort.as > >>> > > >MouseEvent.as > >>> > > >MSCSSMatrix.as > >>> > > >MutationEvent.as > >>> > > >MutationObserver.as > >>> > > >MutationRecord.as > >>> > > >NamedNodeMap.as > >>> > > >NameList.as > >>> > > >Node.as > >>> > > >NodeFilter.as > >>> > > >NodeIterator.as > >>> > > >NodeList.as > >>> > > >Notation.as > >>> > > >openDatabase.as > >>> > > >PageTransitionEvent.as > >>> > > >PopStateEvent.as > >>> > > >postMessage.as > >>> > > >ProcessingInstruction.as > >>> > > >ProgressEvent.as > >>> > > >Range.as > >>> > > >RangeException.as > >>> > > >Rect.as > >>> > > >RelatedEvent.as > >>> > > >RGBColor.as > >>> > > >Screen.as > >>> > > >ShadowRoot.as > >>> > > >SharedWorker.as > >>> > > >SharedWorkerGlobalScope.as > >>> > > >SQLError.as > >>> > > >SQLResultSet.as > >>> > > >SQLResultSetRowList.as > >>> > > >SQLTransaction.as > >>> > > >StyleSheet.as > >>> > > >StyleSheetList.as > >>> > > >Text.as > >>> > > >TextMetrics.as > >>> > > >TextTrack.as > >>> > > >TextTrackCue.as > >>> > > >TextTrackCueList.as > >>> > > >TextTrackList.as > >>> > > >TimeRanges.as > >>> > > >TreeWalker.as > >>> > > >TypeInfo.as > >>> > > >UIEvent.as > >>> > > >UserDataHandler.as > >>> > > >ValidityState.as > >>> > > >ViewCSS.as > >>> > > >VTTCue.as > >>> > > >WebKitCSSMatrix.as > >>> > > >WebSocket.as > >>> > > >WebWorker.as > >>> > > >Window.as > >>> > > >Worker.as > >>> > > >WorkerGlobalScope.as > >>> > > >WorkerLocation.as > >>> > > >XMLHttpRequestEventTarget.as > >>> > > >XMLHttpRequestUpload.as > >>> > > > > >>> > > > > >>> > > > > >>> > > >On Thu, Jun 4, 2015 at 3: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 > >>> > > >>>> >> >>> > >>> > > >>>> >> >>> > >>> > > >>>> >> >> > >>> > > >>>> >> > >>> > > >>>> >> > >>> > > >>>> > >>> > > >>>> > >>> > > >>> > >>> > > >> > >>> > > > >>> > > > >>> > > >>> > >> > >> > >