Do you have a perl script you'd like to distribute in binary executable form?

Then the Perl Compiler is for you, whatever your OS may be, as long as there is a perl port for it (you can run perl on it).

News from the project leader(me: Tuesday October 15, 2002 )

Here we go. A lot of you already know, but for various reasons I have decided to start the project off by creating a "binary wrapper", basically, emulating what PerlApp and perl2exe do. Once we get that version working (should take us a 1 to 2 or 3 years, depending on enthusiasm/skill ;-) ), we should be familiar enough with all the dirty perl internals, that we can attempt a Bison/Flex solution. If you don't know what i'm talking about or what the plan is, don't worry, just go here and "discuss".

Project Full Name:PerlCompiler
Project Unix Name:perlcompiler
Project Leader:crazyinsomniac
Project Members:click here
Project Stage:Planning!

Sourceforge fixed the bug (which seemed to be very new)
If you wanna join the project, email me through this form.
Any help is welcome, but it'd be nice to know what you feel you can help with ;)

Material of interest for this project (good reading material)
C v. Perl - M.J. Dominus Simon Cozens emailed me with some comments, and also reminded me of this article. Perl Compatible Regular Expressions Perl Data Types (an 'alternative' to perlxs)
B::Bytecode (B::*)- Perl compiler's bytecode backend (perl module)
`C and tcc `C is an extension of ANSI C that provides the programmer with the ability to explicitly denote dynamic code generation (the creation of executable code at run time, while the application is running) at the level of C statements and expressions.
The Perl Compiler (turning perl scripts into binary executables) The PerlMonks thread calling for ideas on this project (promising).
The Ultimate Binary Wrapper I recall the discussion on enabling Perl to have a ZIP file as an element of @INC. Suppose this is available (probably first as a compile option). Now imagine (look on newargv stuff, the rest is the same)...

(thanks ilya for the code, and tilly for pointing this out).

Perl 5 Internals This is a three-hour course, teaching the basics of Perl internals and getting involved with hacking on the core of Perl. It'll be was presented for the first time at the O'Reilly Perl Conference in June 2001. (local copy)
Parse Tree Diagrams(and stuff) This is some good "reading" generated by brentdax. He's already been "trying" stuff out, as can be seen here.
Can I get a BNF/yacc/RE for the Perl language? Directly from perlfaq7:
There is no BNF, but you can paw your way through the yacc grammar in perly.y in the source distribution if you're particularly brave. The grammar relies on very smart tokenizing code, so be prepared to venture into toke.c as well.

In the words of Chaim Frenkel: ``Perl's grammar can not be reduced to BNF. The work of parsing perl is distributed between yacc, the lexer, smoke and mirrors.''

see Compilers Programming for tons of good links like Bison -- The YACC-compatible Parser Generator.

Some yacc and lex (or flex and bison) material

The Roles of Lex and YACC (from Ben Steels Compiler Theory class)
Error Messaging and Recovery
Online Documentation for Flex and Bison

SourceForge Logo Valid
file last updated Tuesday October 15, 2002