Clone this wiki locally
What is Pipp?
Pipp is Parrot’s PHP..
Pipp parses PHP source code with the Parrot Grammar Engine and then transforms the parse tree
into an Parrot Abstract Syntax Tree.
For execution the Parrot Abstract Syntax Tree is translated to Parrot Byte Code and then executed
by the virtual machine.
See Implementation status for what should currently be working.
Getting up and running with Pipp
- Get Pipp:
git clone git://github.com/bschmalhofer/pipp.git
- Enter the pipp directory:
- Configure Pipp:
perl Configure.pl --gen-parrot. This fetches an appropriate version of the Parrot source and builds Parrot.
- Build Pipp:
- Run some tests:
- See the test results at Smolder
PHP 5.3 is the reference implementation, therefore the PHP 5.3 test suite is used for specification testing.
Here are the test results for the core and the extensions ‘standard’ and ‘Reflection’.
TEST RESULT SUMMARY
Exts skipped : 75
Exts tested : 2
Number of tests : 9467 4780
Tests skipped : 4687 ( 49.5%)
Tests warned : 0 ( 0.0%) ( 0.0%)
Tests failed : 4705 ( 49.7%) ( 98.4%)
Expected fail : 4 ( 0.0%) ( 0.1%)
Tests passed : 71 ( 0.7%) ( 1.5%)
Time taken : 17764 seconds
There are some leftover files from PHC support in src/pmc. These are no longer used.
How to contribute
Bug reports, patches and contributions to Pipp are highly appreciated.
Fork Pipp and send those pull requests.
If you are a git noob like me, follow the instructions from Rakudo
or follow the recommended Rakudo workflow.
Pipp uses github Issues for issue tracking.
When you have bug reports or patches, then add them there.