Hi Frank,
I was just looking at your code today in GIT, all I can say is what a
great job coding that!!! Seriously I have always loved AS3 AST and
code generation I have some experience as well and I was actually
looking at your visitor/sink pattern today for ideas!
I have gone through your whole code generation framework today, I
would love to see if we could collaborate on something because you
have put so much work into it and obviously love ActionScript as well.
How do you think this project and your project could create some type
of symbiotic relationship without completely redoing each others
efforts?
Thanks for being so upfront, I think both project have the same goals.
Mike
Quoting Frank Wienberg <fr...@jangaroo.net>:
Hi folks,
here is another "outsider" who would like to contribute to the JS runtime
format, if you are interested.
I am co-founder of the Open Source project Jangaroo, and as such have been
dealing with JavaScript-to-ActionScript-3 compilation for several years now.
In response to Bernd Paradies blogging about FalconJS, I blogged about
"simulating ActionScript 3 language features" extensively:
-
http://blog.jangaroo.net/2011/11/simulating-actionscript-in-javascript.html
-
http://blog.jangaroo.net/2011/12/simulating-actionscript-in-javascript.html
- http://blog.jangaroo.net/2012/01/simulating-actionscript-parameter.html
-
http://blog.jangaroo.net/2012/01/simulating-actionscript-rest-parameter.html
All described solutions are actually implemented in the Jangaroo Runtime,
which takes care of the code translated from AS3 to JS by the Jangaroo
Compiler coming alive.
In principle, we follow the "classic route", with the exception of how we
simulate private members: see the first two blog posts.
At first look the Jangaroo Runtime may seem overly complex to you, but it
does many more things (class loading / dependency management; class
initialization = execute static code at the right time; allow keeping
generated JS code and source AS3 code as similar as possible; automatic
method binding / correct "this", etc.), and the concepts described in the
blob posts also work without these additional features.
The Jangaroo Compiler is written in Java and has a separate code generator
(well you obviously won't need the parser) which might be worth having a
look at:
https://github.com/CoreMedia/jangaroo-tools/blob/master/jangaroo/jangaroo-compiler/src/main/java/net/jangaroo/jooc/backend/JsCodeGenerator.java
If you dare to use Maven ;-), it is really easy to play around with our
code generation: Just set up your own projects within minutes, starting
from an example project like
https://github.com/fwienber/jooflash-app-template or
https://github.com/CoreMedia/jangaroo-ext-as-examples .
Greetings,
-Frank-
Frank Wienberg
Software Architect & Jangaroo Evangelist
*frank.wienb...@coremedia.com*
* frank@jangaroo <fr...@jangaroo.net>.net*
CoreMedia AG
content | context | conversion
Ludwig-Erhard-Str. 18
20459 Hamburg, Germany
www.coremedia.com
Executive Board: Gerrit Kolb (CEO), Dr. Klemens Kleiminger (CFO)
Supervisory Board: Prof. Dr. Florian Matthes (Chairman)
Trade Register: Amtsgericht Hamburg, HR B 76277
--------------------------------------------------------
--
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com