usecrate::Grammar;usecrate::Result;userand::Rng;/// A trait for types that can be flattened into an output string
pubtraitExecute{/// Given a grammar and a set of overriden rules (from actions), produces a
/// single "flattened" output string or an error
fnexecute<R:?Sized+ Rng>(&self, grammar:&mut Grammar, rng:&mut R)->Result<String>;}