On O'Reilly's ONLamp.com website today, there's a new tutorial that focuses on something new to PHP's functionality as of the PHP 5 releases - the Reflection API - and examples of using "code as data".
However, this can get difficult very quickly, as modern "P" languages often are quite complex, and creating a solid set of regular expressions to describe PHP or Perl would be very difficult. Many syntax highlighters have problems relating to here documents and other special cases. It would be better to let the language's own parser take care of the hard part, as it already knows how to parse itself. In PHP (version 5 and later), we can use the Reflection API to do this.
As they explain, the Reflection API allows PHP code to look at other PHP code and find out things about it - things like function information, where and what objects are made and much more. In their code example, they create a class to parse a class, grabbing what type each of the methods are, their names, what parameters they take in, and finally, outputting the results as an XML document.
Then, using an Ajax frontend to call some backend scripts (corresponding to grabbing various data about a file) to perform some tests on their sample class, including the creation of a class to build the tests themselves.