Erik,
I'm going to put some time today into get a Test class setup for you
and a JavaScript emitter. I will write a couple tests to show you what
to do.
This will enable you to follow me as I keep implementing actionscript
and you can change the AS to JS inside the JSEmitter. I think you will
get the hang of it quick. I have tried to keep everything pretty
abstract.
The one very important rule right now is don't look at the conversion
top down, look at it bottom up. Our first priority is getting terminal
and leaf nodes spitting out JS first, then we work up to statements,
then blocks, the members, the classes/interfaces ok?
So you will be focusing on expressions first, what dosn't need to be
changed in the unit tests I have already written and what DOES need to
be changed. You can also see if there are any expressions or
statements working. This is very important for when we go to move
forward that we have everything covered.
Mike
Quoting Michael Schmalle <apa...@teotigraphix.com>:
Quoting Erik de Bruin <e...@ixsoftware.nl>:
Mike,
Got all 5 "Falcon" projects from SVN. I build Falcon and FalconJS
using ant on the command line (as per their respective READMEs). I've
loaded the 'compiler[.xx]' projects into Eclipse (Indigo on OS X).
Fixed some paths to get rid of the initial errors.
Sounds good.
I was able to successfully run all 148 tests in 'compiler.jx.tests'
and those all passed (with 2 ignored?).
Yes! This is golden for you, it means you are setup to create more
tests with me! Right now we are only using the Falcon compiler to
get IFileNodes.
I then created a Debug Configuration on 'compiler.jx', pointing it to
"org.apache.flex.compiler.clients.MXMLJSC" as the 'Main class' (I am
not very familiar with Java, but some tweaking and Googling seemed to
indicate this was what might work). On the 'Arguments' tab I just
entered "./tests/TestApp.as". Hitting "Debug" got me the error I
mentioned.
Yeah, almost there but, there are a couple things missing. You will
be able to do this but will need to send a
-load-config="my/pat/flex-config.xml flag along with -library-path
pointing to the playerglobal.swc
I did the following and it created the js file;
-library-path=C:\Users\Work\Documents\libraries\dependencies\player\11.1\playerglobal.swc
tests/TestApp.as
The above in the compiler args for the run target.
Remember, this is spitting out actions script right now, I have got
to the class/interface and package logic with emitting!
With the above it spit out MainCode.js;
public var foo:Stringprivate var bar:int = 0 function MainCode() {
}public function get baz():String {
}public function set baz(value:String):void {
}
As you can see this is right with a couple missing semicolons, class
and package block.
Ask more questions about "what you want to test", I'll tell you how to do it.
Mike
How did I do?
EdB
--
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com