Optimization Here are some possible optimization techniques we can apply to code sections if they turn out to be slow. Be sure not to prematurely optimize: if you get that itch, put it here! - Make Tokens Flyweights (may prove problematic, probably not worth it) - Rewrite regexps into PHP code - Serialize the Definition object - Batch regexp validation (do as many per function call as possible) - Parallelize strategies