Context-Free Grammar Python NLTK's CFG tool, but they way that I want it. Realistically, you should just use Tracery.