/*
----------------------------------------------------------------
Y. CIURLIK & A. DUCHENE - Projet Compil - M1GMI
-------------------------------------------------------------------
*/
#include "liste.h"

/*Ajoute un element a la fin de la liste. Retourne la nouvelle liste*/
trans* add(trans *liste, int etat_arr, char lettre) {
    trans *pCourant;		// définition d'un pointeur courant
	trans *nouvelle_transition;
	
	//Allocation et initialisation de la nouvelle transition
	nouvelle_transition = (trans*) malloc(sizeof(trans));
	nouvelle_transition->lettre = lettre;
	nouvelle_transition->etat_arr = etat_arr;
	nouvelle_transition->suivant = NULL;
	
	//Si la liste est vide
	if (liste == NULL) {
		return nouvelle_transition;
	} else {
		pCourant = liste;
		//parcours de la liste chaînée jusqu'au dernier noeud
		while(pCourant->suivant != NULL) {
			pCourant = pCourant->suivant;
		}
		//Attachement a la liste
		pCourant->suivant = nouvelle_transition;
		return (liste);
	}
}

void postList(trans* liste) {
    trans *pCourant;		//définition d'un pointeur courant
    
    pCourant = liste;
	while(pCourant->suivant != NULL) {
		printf("etat d arrivee : %d\n", pCourant->etat_arr);
		printf("lettre : %c\n", pCourant->lettre);
		pCourant = pCourant->suivant;
	}
	printf("etat d arrivee : %d\n", pCourant->etat_arr);
	printf("lettre : %c\n", pCourant->lettre);
}
