Joshua Thompson, inspired by another blog post on a use for the PHP tokenizer, has started off on a new project to expand on one of the examples - a preprocessor.
It makes a lot of sense for the library developer. They could easily create multiple versions of their code depending on PHP version, target platform, backend database, etc. So I started working on my own implementation of a preprocessor with the goal of making it easy to add plugins for additional functionality. It was during the construction of the core of the preprocessor, that it hit me: why can't we implement new language features in the preprocessor.
As a result, he's created his first version of PPP - PPP PHP PreProcessor (yes, recursive). It's a starting point that has a plugin for traits handling and a soon to come plugin to reduce the need for namespaces.