code: def __lookup_builtin(name):
      
      global __builtin_functions
      if __builtin_functions is None:
          builtins = dict()
          for proto in __builtins:
              pos = proto.find('(')
              name, params, defaults = proto[:pos], list(), dict()
              for param in proto[pos + 1:-1].split(','):
                  pos = param.find('=')
                  if not pos < 0:
                      param, value = param[:pos], param[pos + 1:]
                      try:
                          defaults[param] = __builtin_defaults[value]
                      except KeyError:
                          raise ValueError(
                              'builtin function %s: parameter %s: '
                              'unknown default %r' % (name, param, value))
                  params.append(param)
              builtins[name] = (params, defaults)
          __builtin_functions = builtins
  
      try:
          params, defaults = __builtin_functions[name]
      except KeyError:
          params, defaults = tuple(), dict()
          __builtin_functions[name] = (params, defaults)
          print(
              "Warning: builtin function %r is missing prototype" % name,
              file=sys.stderr)
      return len(params), params, defaults
docs: Lookup the parameter name and default parameter values for
      builtin functions.