WebDyne::Compile
NAME
WebDyne::Compile - compiler for WebDyne .psp source files
SYNOPSIS
use WebDyne::Compile;
my $compiler = WebDyne::Compile->new(
srce => 'page.psp',
);
my $container = $compiler->compile({
srce => 'page.psp',
});
DESCRIPTION
WebDyne::Compile turns WebDyne source files into the internal container structure used by the runtime. It coordinates WebDyne::HTML::TreeBuilder, compile-time Perl and filter stages, optimization passes, metadata extraction, and optional Storable output to a cache destination.
The compiler is usually driven indirectly through WebDyne, but it can also be used directly for diagnostics and tooling such as wdcompile.
METHODS
new(%options)
Construct a compiler-oriented WebDyne object suitable for out-of-request compilation work.
compile(\%options)
Compile the source file named by
srce. Optional keys such asdest, stage controls, whitespace controls, and other compile flags influence the result.compile_init()
Initialize compile-time parser state and shared structures.
optimise_one()
Run the first optimization pass over the parsed data tree.
optimise_two()
Run the second optimization pass over the parsed data tree.
parse()
Parse the source into the container form used by later compile stages.
OUTPUT
The compiler returns a two-element container:
metadata hashref
compiled page data structure
When a dest filename is supplied, the container may also be written to disk in Storable form.
AUTHOR
Andrew Speer mailto:andrew.speer@isolutions.com.au
LICENSE and COPYRIGHT
This file is part of WebDyne.
This software is copyright (c) 2026 by Andrew Speer mailto:andrew.speer@isolutions.com.au.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Full license text is available at: