approved

On Thu, Oct 29, 2009 at 3:45 PM, P T Withington <[email protected]> wrote:

> Change 20091029-ptw-1 by [email protected] on 2009-10-29 15:18:26 EDT
>    in /Users/ptw/OpenLaszlo/trunk
>    for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Remodularize the AST walkers
>
> Bugs Fixed: LPP-7184 Binary libraries don't work in swf9 (substrate)
>
> Technical Reviewer: max (pending)
> QA Reviewer: hminsky (pending)
>
> Details:
>
>    Overview
>
>    Create a generic abstract syntax tree walker that knows how to
>    visit every node and (possibly) rewrite it.  Subclass that for
>    each of the possible code generators.  Use that to untangle the
>    compressor from the code generator.  In the future, it can be used
>    to create other compiler phases, like to pre-analyze global
>    declarations and class models, to do inlining, and to
>    post-optimize, compress, and obfuscate.
>
>    There is more cleanup that could be done to create a class that is
>    for JS1 platforms separate from JS2 platforms, but that is not
>    required for LPP-7184, so I have not attempted that here.
>
>    JavascriptGenerator, CommonGenerator: Remove methods that
>    duplicate GenericVisitor or are only required in CodeGenerator
>    (swf8).
>
>    JavascriptGenerator: Customize translateFunctionInternal for
>    Javascript (new name because it requires a different signature for
>    now).
>
>    VariableAnalyzer:  Only requires ASTVisitor interface.
>
>    CommonGenerator:  Extend GenericVisitor.  Move include parsing up
>    to GenericVisitor.
>
>    TranslationContext:  Remove methods only needed for swf8.
>
>    ASTVisitor:  Move options here from Translator.  Complete
>    signature for all AST's.
>
>    Compiler:  Remove ACTIVATION_OBJECT default (not needed since
>    swf5!).  Continue to kludge interface to CodeGenerator.
>
>    CodeGenerator:  Create SWFTranslationContext that extends
>    TranslationContext with the features only needed for swf8.  Move
>    swf8 overrides from CommonGenerator here.
>
>    JavascriptCompressor:  Extend GenericVisitor, overriding just
>    enough visitors to analyze and rename function locals.
>
>    Translator:  Move options to ASTVisitor and swf8-specific
>    interfaces to CodeGenerator.
>
>    GenericVisitor:  (new) Knows how to expand includes and walk all
>    nodes of the parse tree, possibly rewriting.  What we should have
>    done when we started the DHTML project, but did not have time
>    for...
>
>    ParseTreePrinter:  Debug and name tweaks.
>
> Tests:
>    Smokecheck on all platforms, diff of LFCdhtml.js before and after.
>
> Files:
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/VariableAnalyzer.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/TranslationContext.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/ASTVisitor.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptCompressor.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Translator.java
> A      WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20091029-ptw-1.tar
>



-- 
Henry Minsky
Software Architect
[email protected]
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to