parser/src/LinkedListAPI.c
List * initializeList(char* (*printFunction)(void* toBePrinted),void (*deleteFunction)(void* toBeDeleted),int (*compareFunction)(const void* first,const void* second)){
    //Asserts create a partial function...
    assert(printFunction != NULL);
    assert(deleteFunction != NULL);
    assert(compareFunction != NULL);

    List * tmpList = malloc(sizeof(List));
	
	tmpList->head = NULL;
	tmpList->tail = NULL;

	tmpList->length = 0;

	tmpList->deleteData = deleteFunction;
	tmpList->compare = compareFunction;
	tmpList->printData = printFunction;
	
	return tmpList;
}
/** Function to initialize the list metadata head to the appropriate function pointers. Allocates memory to the struct.
*@return pointer to the list head
*@param printFunction function pointer to print a single node of the list
*@param deleteFunction function pointer to delete a single piece of data from the list
*@param compareFunction function pointer to compare two nodes of the list in order to test for equality or order
**/
Function to initialize the list metadata head to the appropriate function pointers. Allocates memory to the struct.
Function to initialize the list metadata head to the appropriate function pointers . Allocates memory to the struct .
List * initializeList(char* (*printFunction)(void* toBePrinted),void (*deleteFunction)(void* toBeDeleted),int (*compareFunction)(const void* first,const void* second)){
    assert(printFunction != NULL);
    assert(deleteFunction != NULL);
    assert(compareFunction != NULL);
    List * tmpList = malloc(sizeof(List));
	tmpList->head = NULL;
	tmpList->tail = NULL;
	tmpList->length = 0;
	tmpList->deleteData = deleteFunction;
	tmpList->compare = compareFunction;
	tmpList->printData = printFunction;
	return tmpList;
}
List * initializeList ( char * ( * printFunction ) ( void * toBePrinted ) , void ( * deleteFunction ) ( void * toBeDeleted ) , int ( * compareFunction ) ( const void * first , const void * second ) ) { assert ( printFunction != NULL ) ; assert ( deleteFunction != NULL ) ; assert ( compareFunction != NULL ) ; List * tmpList = malloc ( sizeof ( List ) ) ; tmpList -> head = NULL ; tmpList -> tail = NULL ; tmpList -> length = 0 ; tmpList -> deleteData = deleteFunction ; tmpList -> compare = compareFunction ; tmpList -> printData = printFunction ; return tmpList ; }
Function to initialize the list metadata head to the appropriate function pointers.
Function to initialize the list metadata head to the appropriate function pointers .
//Asserts create a partial function...
