renamed Grammar to ContextFreeGrammar