[Laszlo-dev] Plan for platform-independent .lzo's (LPP-7184)
P T Withington
ptw at pobox.com
Wed Oct 7 06:32:53 PDT 2009
I think the question is whether to keep supporting swf8 the way it
currently is (where it's code generator is mostly a duplicate of the
new way) or to try to integrate it into the new way (which would mean
re-modularizing the existing code generator). I tend toward the
former, as it is a least-effort, because I assume swf8 will eventually
be phased out. OTOH, if you think swf8 will have to be maintained for
a long time, the latter approach would be less effort in the long run
(although more up front).
On 2009-10-07, at 04:41, Max Carlson wrote:
> This sounds like a fine plan - and a great way to clean up the
> compiler and make it easier to support other runtimes in the
> future. One comment: we'll need to support swf8 for a while because
> some of our biggest users require it.
>
> P T Withington wrote:
>> Currently our .lzo technology which allows you to write a
>> compressed, linkable library from a library of LZX, only works for
>> the swf8 platform. We'd like to make this technology work across
>> all platforms.
>> Here's a rough sketch of how I plan to do this:
>> Make a new subclass of JavascriptGenerator, DHTMLGenerator, and
>> move the JS1-specific transforms into that subclass.
>> DHTMLGenerator will be parallel to SWF9Generator, which is already
>> a subclass of JavascriptGenerator. There may be some
>> simplifications I can make there, because some of the methods of
>> SWF9Generator are just there to undo JS1-specific transforms that
>> shouldn't have been in the superclass in the first place.
>> [If we wanted to continue to maintain swf8 as a platform, it would
>> make sense to make a new subclass of JavascriptGenerator,
>> SWF8Generator, and move only the byte-code generation from
>> CodeGenerator to there, leaving behind the duplicate platform-
>> independent tranformations that are in CodeGenerator.]
>> Once JavascriptGenerator is not longer making platform-specific
>> transformations, make another subclass, LZSGenerator, that
>> generates the script portion of .lzo's. This will output to the
>> 'lzs' platform, the extended Javascript that our script compiler
>> takes as an input. It will also handle the minimizing of internal
>> variable names and the compression of the output.
>> Comments and input welcome.
>
> --
> Regards,
> Max Carlson
> OpenLaszlo.org
More information about the Laszlo-dev
mailing list