NAME

Plasp::Compiler - Role for Plasp providing code compilation

SYNOPSIS

  package Plasp;
  with 'Plasp::Parser', 'Plasp::Compiler';

  sub execute {
    my ($self, $scriptref) = @_;
    my $parsed = $self->parse($scriptref);
    my $subid = $self->compile($parsed->{data});
    eval { &$subid };
  }

DESCRIPTION

This class implements the ability to compile parsed ASP code.

METHODS

$self->compile($scriptref, $subid)

Takes a $scriptref that has been parsed and $subid for the name of the subroutine to compile the code into. Returns

$self->compile_include($include)

Takes an $include file. This will search for the file in IncludesDir and parse it, and assign it a $subid based on it's filename.

$self->compile_file($file)

Takes an $file assuming it exists. This will search for the file in IncludesDir and parse it, and assign it a $subid based on it's filename.

$self->register_include($scriptref)

Registers the file file of any calls to $Response->Include() so as to prevent infinite recursion

SEE ALSO