title: Grammar balancing issue
body: <p>Is it possible to force <strong>Boost.Spirit Qi</strong> to behave in such way, that generated grammar would be adjustable in compliance with some runtime-calculable conditions/rules/rates? For example, the input consists of language constructs, that cause the different alternatives during parsing, some more frequently, others -- less. But the order of the alternatives affects on the efficiency, i.e. runtime optimality of the grammar. In some cases it is impossible to determine in advance which alternative will be chosen more often in the case of arbitrary input (which may be strongly clustered).</p>
  
  <p>I know that it is possible to append symbols to <code>qi::symbols</code> at runtime, but similar behavior would be desirable for some other parsers.</p>