parameters: (self, p)
docstring: expression : NAME
docstring_summary: expression : NAME
docstring_tokens: expression : NAME
function: def p_expression_name(self, p):
          'expression : NAME'
          try:
              p[0] = self.names[p[1]]
          except LookupError:
              print("Undefined name '%s'" % p[1])
              p[0] = 0
function_tokens: def p_expression_name ( self , p ) : try : p [ 0 ] = self . names [ p [ 1 ] ] except LookupError : print ( "Undefined name '%s'" % p [ 1 ] ) p [ 0 ] = 0