Reini Urban > B-C > B::Bytecode

Download:
B-C-1.04_21.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 1.02_03   Source  

NAME ^

B::Bytecode - Perl compiler's bytecode backend

SYNOPSIS ^

perl -MO=Bytecode[,-H][,-oscript.plc] script.pl

DESCRIPTION ^

Compiles a Perl script into a bytecode format that could be loaded later by the ByteLoader module and executed as a regular Perl script.

EXAMPLE ^

    $ perl -MO=Bytecode,-H,-ohi -e 'print "hi!\n"'
    $ perl hi
    hi!

OPTIONS ^

-H

Prepend a use ByteLoader VERSION; line to the produced bytecode.

-b

Save all the BEGIN blocks. Normally only BEGIN blocks that require other files (ex. use Foo;) are saved.

-k

Keep the syntax tree - it is stripped by default.

-ooutfile

Put the bytecode in <outfile> instead of dumping it to STDOUT.

-s

Scan the script for # line .. directives and for <goto LABEL> expressions. When gotos are found keep the syntax tree.

-S

Output assembler source rather than piping it through the assembler and outputting bytecode. Without -q the assembler source is commented.

-q

Be quiet.

-v

Be verbose.

-Do

OPs, prints each OP as it's processed

-DM

Set debugging flag for more verbose STDERR output. Verbose debugging options are crucial, because we have no interactive debugger at the early CHECK step, where the compilation happens.

M for Magic and Matches.

-DG

Debug GV's

-DA

Set developer Assertions, to help find possible obj-indices out of range.

KNOWN BUGS ^

NOTICE ^

There are also undocumented bugs and options.

THIS CODE IS HIGHLY EXPERIMENTAL. USE AT YOUR OWN RISK.

AUTHORS ^

Originally written by Malcolm Beattie <mbeattie@sable.ox.ac.uk> and modified by Benjamin Stuhl <sho_pi@hotmail.com>.

Rewritten by Enache Adrian <enache@rdslink.ro>, 2003 a.d.

Enhanced by Reini Urban <rurban@cpan.org>, 2008