TD1
Génération de code

Mathieu Lafourcade

  1. Ecrire dans l'assembleur de la machine virtuelle présentée en cours, les expression Lisp suivantes suivantes:
    • (* (+ 1 5) 3)
    • (* a b (+ c d))


  2. Ecrire dans l'assembleur de la machine virtuelle présentée en cours, les expression Lisp suivantes suivantes:
    • (for (i 0 10) (incf j))
    • (for (i 0 (+ a 5)) (incf j))
    • (for (i 0 (* a 5)) (setf i (+ a i)))
    • (for (i 0 (* a 5)) (setf a (- a i)))


  3. Ecrire dans l'assembleur de la machine virtuelle présentée en cours, des fonctions suivantes:
    • Factorielle.
    • Fibo


  4. Ecrire en Lisp les schémas de programmation permettant de générer un code assembleur pour les fonctions précédentes.
    Discuter de l'efficacité du code généré.


  5. Ecrire en Lisp et comparer un gestionnaire de piles à base de :
    1. liste
    2. tableau


  6. Ecrire en Lisp et comparer un gestionnaire d'environnements à base de :
    1. liste
    2. tableau