Sanity checks:
  uniqueness, consecutivity, every terminal >= 2.
  tdd must *not* include epsilon and $.
  each terminal name must not be a nonterminal, and vice-versa.
  each used nonterminal must have a definition.
