A PHP parser written in PHP
Go to file
2011-05-28 00:21:12 +02:00
grammar Parse strings more correctly, keep information on whether it was a single or double quoted string 2011-05-28 00:21:12 +02:00
lib Parse strings more correctly, keep information on whether it was a single or double quoted string 2011-05-28 00:21:12 +02:00
LICENSE Add LICENSE (BSD) 2011-05-27 18:54:01 +02:00
README Slightly optimize the parser and improve the API 2011-04-29 21:06:11 +02:00
test.php Add initial implementation of pretty printer 2011-05-27 22:57:55 +02:00

This is a PHP parser written in PHP.

This project is work in progress, but it basically works and was tested on a large code base.

Usage:

    $parser = new Parser();
    $stmts = $parser->yyparse(
        new Lexer('<?php // some code'),
        function($msg) {
            // this is the error callback, which is fired in case of
            // a parse error. It is passed the error message.
            echo $msg, "\n";
        }
    );

    // the return value of Parser->yyparse will either be false (which
    // signifies that an error occured) or an array of statements (Nodes)
    if (false !== $stmts) {
        // dump the AST
        foreach ($stmts as $stmt) {
            echo $stmt, "\n";
        }
    }