2.3 Set of productions

It is conventional to use P to represent a set of productions. Each production maps a string of symbols to another string of symbols. The general rule is that a production must be of the form X*NX*X*. Here, X* is the Kleene closure of all symbols (terminal or nonterminal), which means a string of any finite number of terminals and nonterminals. Note that the LHS must consist of at least one nonterminal, and that the RHS may have any number of terminals and nonterminals. It should also be noted that the empty string can also be the RHS!