Skip to content
bschmalhofer edited this page Sep 13, 2010 · 30 revisions

What is Pipp?

Pipp is Parrot’s PHP.

The project Pipp aims to implement the programming language PHP
on top of the virtual machine Parrot.

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 and build Parrot
  • Get Pipp from github: cd languages; make co-pipp
  • Configure Pipp:perl Configure.pl
  • Build Pipp: cd pipp; make
  • Run some tests: make smoke
  • See the test results at Smolder

Testing

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’ at revision 36093 on 2009-01-28:

  =====================================================================
  TEST RESULT SUMMARY
  ---------------------------------------------------------------------
  Exts skipped    :   75
  Exts tested     :    2
  ---------------------------------------------------------------------

  Number of tests : 9229              4717
  Tests skipped   : 4512 ( 48.9%) --------
  Tests warned    :    0 (  0.0%) (  0.0%)
  Tests failed    : 4646 ( 50.3%) ( 98.5%)
  Expected fail   :    5 (  0.1%) (  0.1%)
  Tests passed    :   66 (  0.7%) (  1.4%)
  ---------------------------------------------------------------------
  Time taken      : 14658 seconds
  =====================================================================

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.

Currently there is no dedicated issue tracking for Pipp.
When you have bug reports or patches, then send my a message on GitHub, mail to [email protected] or
catch barney on #parrot.

Clone this wiki locally