X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlcompile.pod;h=046576b28a1641f61cc6222575d1383576c0b3c0;hb=075502290ff69af888b5629ff1fecf91d588fbbd;hp=e5544ec444cbc2efea1a8fc40c2e8f8f1ac342df;hpb=4375e838ae24b385ae79fa7b6918e613bedaaee6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlcompile.pod b/pod/perlcompile.pod index e5544ec..046576b 100644 --- a/pod/perlcompile.pod +++ b/pod/perlcompile.pod @@ -9,7 +9,7 @@ internal form (a parse tree) which is then optimized before being run. Since version 5.005, Perl has shipped with a module capable of inspecting the optimized parse tree (C), and this has been used to write many useful utilities, including a module that lets -you turn your Perl into C source code that can be compiled into an +you turn your Perl into C source code that can be compiled into a native executable. The C module provides access to the parse tree, and other modules @@ -183,9 +183,6 @@ one-liners: rename $was, $_ unless $was eq $_; } -(this is the I program that comes in the I directory -of the Perl source distribution). - The decompiler has several options for the code it generates. For instance, you can set the size of each indent from 4 (as above) to 2 with: @@ -239,9 +236,9 @@ execute the bytecode that it produces. The ByteLoader module provides this functionality. To turn a Perl program into executable byte code, you can use C -with the C<-b> switch: +with the C<-B> switch: - perlcc -b myperlprogram.pl + perlcc -B myperlprogram.pl The byte code is machine independent, so once you have a compiled module or program, it is as portable as Perl source (assuming that @@ -259,18 +256,20 @@ the Perl data structures directly. The program will still link against the Perl interpreter library, to allow for eval(), C, C, etc. -The C tool generates such executables when using the -opt +The C tool generates such executables when using the -O switch. To compile a Perl program (ending in C<.pl> or C<.p>): - perlcc -opt myperlprogram.pl + perlcc -O myperlprogram.pl To produce a shared library from a Perl module (ending in C<.pm>): - perlcc -opt Myperlmodule.pm + perlcc -O Myperlmodule.pm For more information, see L and L. +=head1 Module List for the Compiler Suite + =over 4 =item B @@ -338,6 +337,14 @@ programs translated into C by B::CC can execute faster than normal interpreted programs. See L for details about usage. +=item B::Concise + +This module prints a concise (but complete) version of the Perl parse +tree. Its output is more customizable than the one of B::Terse or +B::Debug (and it can emulate them). This module useful for people who +are writing their own back end, or who are learning about the Perl +internals. It's not useful to the average programmer. + =item B::Debug This module dumps the Perl parse tree in verbose detail to STDOUT.