PHP_Parser is a source code analysis tool based around a real Parser
generated by PHP_ParserGenerator. The parser uses the same EBNF source that PHP
uses to parse itself, modified for Lemon parser format, and it therefore as robust
as PHP itself.

This version has full support for parsing out every re-usable element
in PHP as of PHP 6:
- classes
- abstract classes
- inheritance, implements
- interfaces
- methods
- any thrown or caught exception
- static variables declared
- global and superglobal ($_GET) variables used
and declared
- any class names used in any context
- any functions called
- any $this-&gt;var or class::$var
- any $this-&gt;method or class::method() or class::$method()
- variables
- constants
- functions (same information as methods minus $this-&gt;/self::/parent:: information)
- defines
- global variables (with help of PHP_Parser_DocblockParser)
- superglobal variables used in global code
- include statements

The output can be customized to return an array, return
objects of user-specified classes, and can also be
customized to publish each element as it is parsed, allowing
hooks into parsing to catch information.