code: public void addSyntheticRule(ExecutableElement reducer, String nonterminal, String... rhs)
      {
          addRule(reducer, nonterminal, "", true, Arrays.asList(rhs));
      }
docs: Adds new rule if the same rule doesn't exist already. Rhs is added as-is.
  Sequences, choices or quantifiers are not parsed.
  @param nonterminal Left hand side of the rule.
  @param rhs
  @see BnfGrammarFactory