Damon Wang wrote:
Option (2) is the most maintainable and feasible option, and it's precisely the one that cannot be done in PHP. As far as I know, PHP has no parser-generator package. (Please, please let me know if that's incorrect so I can stop embarrassing myself and get on with writing a GSoC proposal.)
A quick search shows http://pear.php.net/package/PHP_ParserGenerator and http://code.google.com/p/antlrphpruntime/ Maybe they are useless, but it's worth evaluating. I suppose you could keep open the language to use in the GSoC proposal.