Projet Informatique Théorique 2016
Instructions et Documentation
Projet Informatique Théorique 2016 Documentation

Modalités

Le projet est à réaliser en C par groupes de 2 personnes maximum. L'utilisation de la bibliothèque fournie est obligatoire. Il n'y aura pas de soutenance et on ne demande pas de rapport, mais le code doit être commenté. La notation tiendra compte du degré de réalisation du sujet. La notation sera faite à l'aide de tests automatiques, qui ressembleront aux tests fournis (voir la section test de cette page) !

Le code source du projet est disponnible à l'adresse : http://www.labri.fr/perso/boussica/archives/cours/licence3/automates_grammaires/2015-2016/projet_2016.tar.gz

La programme est à rendre au format archive tar compressée par gzip, sous le nom nom1-nom2.tgz par mail à l'adresse atana.nosp@m.sa@l.nosp@m.abri..nosp@m.fr et bouss.nosp@m.ica@.nosp@m.labri.nosp@m..fr. Le sujet du mail doit avoir la forme suivante : [PROJET IT2] Nom1 - Nom2. La décompression de l'archive doit fournir un répertoire nom1-nom2 (sans accent et sans espace, mettre _ à la place) dans lequel se trouveront seulement 1 fichier: automate.c.

Attention
La date limite de remise du projet par mail est la suivante :
  • 10 avril 23h59.

Objectif

La première partie concerne l'implémentation de quelques automates et algorithmes concernant les automates. Les fonctions à implémentées sont les suivantes :

Le projet consiste à écrire des fonctions implémentant ces algorithmes en complétant le fichier automate.c fourni dans cette archive.

Aucun autre fichier ne doit être modifié (les autres seront remplacés par les fichiers originaux lors de l'évaluation). Vous devez aussi utiliser le fichier makefile fourni. Le fichier d'interface automate.h contient les prototypes des fonctions, y compris celles à implémenter. Dans le fichier automate.c, le code des fonctions à écrire est remplacé par la macro A_FAIRE ou A_FAIRE_RETURN(). Le code nécessaire est commenté, et la documentation est disponible via ces pages web. La liste des fonctions à implémenter est aussi disponible ici, ou par l'onglet Pages Associées ci-dessus.

Tests

Des tests sont fournis dans le répertoire ./tests pour certaines fonctions, comme test_creer_automate_du_melange.c qui teste la fonction creer_automate_du_melange(). Pour les lancer, il suffit d'utiliser make check, qui compile les tests, les lance et affiche le nombre de tests réussis et le nombre de tests échoués. Il est fortement conseillé d'ajouter vos propres tests car nous utiliserons un fichier plus complet lors de l'évaluation (un pour chaque fonction). Il suffit pour cela de créer un nouveau fichier par test dans le répertoire ./tests, en suivant le motif des fichiers de tests déjà écrits.

Note
Comme vous devez écrire la plupart des fonctions testées, il est normal que les tests échouent pour l'instant.