[Laszlo-dev] UPDATED: For Review: Change 20070131-ptw-V Summary: binary libraries in 3.4

Sarah Allen sallen at laszlosystems.com
Sat Feb 3 20:22:07 PST 2007


As the doc reviewer... where will this documentation eventually go? I 
don't even know where lzc is documented now...  An email from ptw found 
via Google tells me the doc can be found with lzc --help, so I suppose 
if that is up to date all is well.  Give me a heads up when it is 
checked into trunk and I'll give it a whirl.

Nice work Tucker :)


On Sat, Feb 3, 2007 at  4:17 PM, P T Withington wrote:

> UPDATE: This is ready for review.  If you could review it ASAP, I 
> would like to get it checked in so people can start testing it.
>
> ---
>
> Change 20070131-ptw-V by ptw at dueling-banjos.local on 2007-01-31 
> 10:59:47 EST
>      in /Users/ptw/OpenLaszlo/trunk
>
> Summary: binary libraries in 3.4
>
> Bugs Fixed:
> LPP-3438: 'Implement "binary libraries"'
>
> Technical Reviewer: hminsky (pending)
> QA Reviewer: max (pending)
> Doc Reviewer: sallen (pending)
>
> Documentation:
>      To create a binary library, you compile the library as:
>
>        lzc -c library.lzx
>
>      This creates a `library.lzo` file in the same directory.  Any
>      program that includes the `library.lzx` will prefer the .lzo if
>      that is found.  It is up to your build process to ensure that the
>      .lzo file is kept up to date.
>
> Details:
>      Back-port of this feature to 3.4.  As you can see, I hardly had 
> to
>      change anything to get it to work in 3.4.
>
> Detailed details:
>      [Changes ported from Legal's are marked with `-`, new changes are
>      marked with `+`]
>
>      - lzunit-test: Handle Flash 9 player
>
>      - lzx.rnc: New element <interface> can be used to extend schema,
>        script tag can take `when` and `type`.
>
>      - SimpleNode: don't bomb when adding children via set.
>
>      + FileUtils: open .lzo files as GZIP.
>
>      + ComparisonMap: maintain entry order.
>
>      - ReferenceCollector: Eliminate redundant constraints, properly
>        express contraints on global functions, sanitize names.
>
>      - Compiler: Unparse super calls
>
>      - Assembler: Correct assoc-oh in block out of range error 
> message.
>
>      + Compiler, CodeGenerator, ToplevelCompiler, SWFFile: Remove 
> Krank
>        Kruft
>
>      - Compiler, CodeGenerator: back-port compressing/obfuscating
>        unparser, and other miscellaneous compiler improvements.
>
>      + JavascriptCompressor: Adapted from Legal's JavascriptGenerator
>
>      + CompilerError, CompilerImplementationError: Adapt to new
>        location string
>
>      + Function: Permit overriding name, maintain source-location 
> info.
>
>      - ScriptClass: Scaffolding for outputting an LZX class as a JS 
> class.
>
>      - LibraryCompiler: Load .lzo (binary) library if available.
>
>      - ClassCompiler: Split out actual generation of class code so it
>        can be overridden in a subclass.
>
>      - ViewCompiler, ResourceCompiler, FontCompiler,
>        CompilationEnvironment, Compiler: Permit compiling of <library>
>        without <canvas>
>
>      + ToplevelCompiler: Compile interfaces, maintain auto-include
>        information
>
>      - InterfaceCompiler: Compiles an <interface>, updating the 
> schema.
>
>      + ViewSchema, AttributeSpec, ClassModel: Add toLZX method that
>        generates an <interface> from the schema.
>
>      + SWFWriter: open to subclassing
>
>      - LibraryWriter: New compiler back-end, subclass of SWFWriter,
>      captures object-code and outputs it to a binary library.
>
>      - CompilationEnvironment: Store object file so back-ends can
>        relativize paths.
>
>      + DataCompiler: If not compiling to canvas, defer compiling data.
>
>      + NodeModel: Store methods in class model, use new location 
> format
>        for functions, ensure generated method names are unique.
>
>      - ScriptElementCompiler: support `when='immediate'`
>
>      - Compiler, Main: New option '-c' permits compiling a <library> 
> to .lzo.
>
>      - Compiler: Add InterfaceCompiler.
>
>      + ClassModel: Make comparable so classes can be sorted according
>        to superclass, add hasNodeModel to tell when a class has had 
> code
>        generated for it, maintain class method specifications.
>
> Tests:
>      smoketest
>
> Files:
> M      test/smoke/lzunit-test.lzl
> M      WEB-INF/lps/schema/lzx.rnc
> M      WEB-INF/lps/server/sc/src/org/openlaszlo/sc/parser/ 
> SimpleNode.java
> M      WEB-INF/lps/server/src/org/openlaszlo/utils/FileUtils.java
> M      WEB-INF/lps/server/src/org/openlaszlo/utils/ComparisonMap.java
> M 
> WEB-INF/lps/server/src/org/openlaszlo/sc/ReferenceCollector.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
> A      WEB-INF/lps/server/src/org/openlaszlo/sc/ 
> JavascriptCompressor.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CompilerError.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Function.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/ 
> CompilerImplementationError.java
> A      WEB-INF/lps/server/src/org/openlaszlo/sc/ScriptClass.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> LibraryCompiler.java
> M 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassCompiler.java
> M 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewCompiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> CanvasCompiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> ResourceCompiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> ToplevelCompiler.java
> A      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> InterfaceCompiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/SWFWriter.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/SWFFile.java
> M 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/FontCompiler.java
> A 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryWriter.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> CompilationEnvironment.java
> M 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/DataCompiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> ScriptElementCompiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
> M 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/AttributeSpec.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/Main.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070131-ptw- 
> V.tar



More information about the Laszlo-dev mailing list