Sémantique opérationnelle de TOY

Mise en route

Une documentation complète sur Objective Caml est disponible à l'URL :
http://caml.inria.fr/pub/docs/manual-ocaml/

Vous pouvez télécharger le Mode Tuareg pour Emacs à l'URL :
http://www-rocq.inria.fr/~acohen/tuareg/index.html.fr

Récupérez les sources du TP ici et désarchivez-les.

Travail à faire


    Première semaine


  1. Voici en gros le contenu des différents fichiers. Ouvrez les et comprenez ce qu'il s'y passe.
  2. Complétez le fichier printer.ml afin qu'il prenne en compte toutes les structures de programme.
  3. Complétez le fichier step.ml afin qu'il permette de calculer la sémantique de tout programme. Proposez un jeu de tests pour les principales fonctions.

    Deuxième semaine


  4. On veut ajouter les effets de bord : x++, x := 2 comme des expressions.
  5. Ajouter l'affichage de l'environnement à chaque pas de calcul.
  6. Boucle for.

    Troisième semaine


  7. Ajouter des opérateurs, par exemple and, or mais aussi ceux qui vous paraissent manquants et très utiles.
  8. Ajouter le traitement des exceptions : try et raise. On utilisera pour cela la version étiquetée de SOS, avec le nouveau type :
    etiq =
    | Tau
    | Etiq of string
    et on modifiera la sémantique en conséquence.
  9. Ajouter l'affichage de la trace pendant l'exécution.



Benoit Delahaye 2007-09-28