Projet 2
- -i ou rien : lance l'interpreteur (comportement par default)
- -m -machine : lance le compilateur, puis execute le code
- -interm : lance le compilateur et affiche le resultat
- -d -debug : lance l'option debug
- fix des fonctions anonymes qui marchent correctement (cf anonyme.ml)
- fix du parsing des fonctions a plusieurs arguments (cf badfun_fixed.ml)
- fix des "variables perdues" du rendue 2 qui disparaissaient quand on demandait leur valeur plusieurs fois d'affilee (cf lostvar_fixed.ml)
- fix des bugs mentionnés (expliquer pourquoi l'ancien code ne marchait pas n'est pas possible/utile car nous avons tout repris en profondeur) les bugs en question sont dans les fichiers bug1.ml et bug2.ml.
- fix du format: on peut donner en argument un fichier a la place de le pipe dans le programme (exple: ./fouine -i -d test.ml)
- a propos des opérations booleenes, c'etait en fait un choix d'en faire des operations renvoyant des entiers, pour que cela reste coherent avec le reste du code... comme cela marche bien on ne l'a pas changé.
-
ajout du ; imperatif a la syntaxe (cf references.ml)
-
ajout des exceptions (cf exceptions.ml, factplus.ml)
-
ajout de la machine sedc pour les expressions arithmetiques (cf arith.ml) [compilation + execution]
-
il y a des exemples de codes dans src/examples
- Si l'on défini des fonctions dont le nom commence par le caractère "_", le comportement de l'interpreteur n'est pas défini