'Print trace output indicating that a given production has been
applied at a given location.
:param production: The production that has been applied
:type production: Production
:param p: The probability of the tree produced by the production.
:type p: float
:param span: The span of the production
:type span: tuple
:rtype: None'

def _trace_production(self, production, p, span, width):

    str = (u'|' + (u'.' * span[0]))
    str += (u'=' * (span[1] - span[0]))
    str += ((u'.' * (width - span[1])) + u'|    ')
    str += (u'%s' % production)
    if (self._trace > 2):
        str = (u'%-40s    %12.10f    ' % (str, p))
    print(str)
