Les règles de typage sont décrites dans le sujet du projet.
On prendra soin de lire et de comprendre la syntaxe abstraite fournie, c'est-à-dire les fichiers Ptree.mli et Ttree.mli.
Le Makefile fourni permet de compiler le programme (en appelant dune). Le binaire s'appelle minic.exe. Il accepte sur sa ligne de commande exactement un fichier portant le suffixe .c et les options --debug, --parse-only et --type-only.
Si une erreur lexicale ou syntaxique est détectée, elle est signalée et le programme termine avec le code de retour 1.
Si l'analyse syntaxique est effectuée avec succès et que l'option --parse-only est spécifiée, alors le programme termine avec le code de retour 0.
En cas d'erreur de typage détectée, elle est signalée en levant l'exception Error définie dans typing.ml, avec comme argument le message choisi. Cette exception est ensuite rattrapée dans main.ml et affichée sous la forme
error: ... un message de votre choix ...et le programme termine avec le code de retour 1.
int main() { return 0; }c'est-à-dire en se limitant aux constantes pour les expressions et à return pour les instructions.
Dans le code fourni, la commande make compile minic.exe puis le lance sur le fichier test.c également fourni. Il suffit donc de modifier ce fichier au fur et à mesure des tests.
syntax/bad/ refusés à l'analyse lexicale ou syntaxique syntax/good/ acceptés à l'analyse syntaxique typing/bad/ refusés à l'analyse sémantique typing/good/ acceptés à l'analyse sémantique exec-fail/ compilés avec succès mais l'exécution doit échouer exec/ compilés et exécutés avec succès, le résultat attendu étant conforme au fichier .out
> ./run -2 mon/chemin/vers/minic.exe Test de mon/chemin/vers/minic.exe Partie 2 mauvais ........................... bons ................................................................. Typage : 92/92 : 100%