parameters: (self, p)
docstring: number : number '+' number
                    | number '-' number
                    | number '*' number
docstring_summary: number : number '+' number
                    | number '-' number
                    | number '*' number
docstring_tokens: number : number + number | number - number | number * number
function: def p_number_add(self, p):
          """number : number '+' number
                    | number '-' number
                    | number '*' number"""
          n1 = p[1]
          n2 = p[3]
          if p[2] == '+':
              p[0] = lambda i: n1(i) + n2(i)
          elif p[2] == '-':
              p[0] = lambda i: n1(i) - n2(i)
          else:
              p[0] = lambda i: n1(i) * n2(i)
function_tokens: def p_number_add ( self , p ) : n1 = p [ 1 ] n2 = p [ 3 ] if p [ 2 ] == '+' : p [ 0 ] = lambda i : n1 ( i ) + n2 ( i ) elif p [ 2 ] == '-' : p [ 0 ] = lambda i : n1 ( i ) - n2 ( i ) else : p [ 0 ] = lambda i : n1 ( i ) * n2 ( i )