Productions are the mechanism used to describe how
complex input structures are built up out of simpler ones. Each
production has a left side and a right side. The right side, or
grammar rule, is a sequence of rule elements, which may represent
either terminal tokens or nonterminal tokens. The left side is a list
of reduction tokens. In most cases there would be only a single
reduction token. Productions with more than one token on the left side
are called semantically determined productions. The "->" symbol is
used to separate the left side from the right side.