def setFunctionLocalDictionary(arguments, function):
 function.localDictionary = {'_arguments': arguments}
 if (len(arguments) > 0):
  firstArgument = arguments[0]
  if (firstArgument.__class__ == dict):
   function.localDictionary = firstArgument
   return
 if ('parameters' not in function.elementNode.attributes):
  return
 parameters = function.elementNode.attributes['parameters'].strip()
 if (parameters == ''):
  return
 parameterWords = parameters.split(',')
 for (parameterWordIndex, parameterWord) in enumerate(parameterWords):
  strippedWord = parameterWord.strip()
  keyValue = KeyValue().getByEqual(strippedWord)
  if (parameterWordIndex < len(arguments)):
   function.localDictionary[keyValue.key] = arguments[parameterWordIndex]
  else:
   strippedValue = keyValue.value
   if (strippedValue == None):
    print 'Warning there is no default parameter in getParameterValue for:'
    print strippedWord
    print parameterWords
    print arguments
    print function.elementNode.attributes
   else:
    strippedValue = strippedValue.strip()
   function.localDictionary[keyValue.key.strip()] = strippedValue
 if (len(arguments) > len(parameterWords)):
  print 'Warning there are too many initializeFunction parameters for:'
  print function.elementNode.attributes
  print parameterWords
  print arguments

def setFunctionLocalDictionary ( arguments , function ) : function . localDictionary = { '_arguments' : arguments } if ( len ( arguments ) > 0 ) : firstArgument = arguments [ 0 ] if ( firstArgument . __class__ == dict ) : function . localDictionary = firstArgument return if ( 'parameters' not in function . elementNode . attributes ) : return parameters = function . elementNode . attributes [ 'parameters' ] . strip ( ) if ( parameters == '' ) : return parameterWords = parameters . split ( ',' ) for ( parameterWordIndex , parameterWord ) in enumerate ( parameterWords ) : strippedWord = parameterWord . strip ( ) keyValue = KeyValue ( ) . getByEqual ( strippedWord ) if ( parameterWordIndex < len ( arguments ) ) : function . localDictionary [ keyValue . key ] = arguments [ parameterWordIndex ] else : strippedValue = keyValue . value if ( strippedValue == None ) : print 'Warning there is no default parameter in getParameterValue for:' print strippedWord print parameterWords print arguments print function . elementNode . attributes else : strippedValue = strippedValue . strip ( ) function . localDictionary [ keyValue . key . strip ( ) ] = strippedValue if ( len ( arguments ) > len ( parameterWords ) ) : print 'Warning there are too many initializeFunction parameters for:' print function . elementNode . attributes print parameterWords print arguments
evaluate the function statement and delete the evaluators .