Machine abstraite et génération de code
LI349 — Compilation — 2012/2013
UPMC — Licence Informatique — Lundi 3 Décembre 2012, 14h—15h45, Amphi 55B
Philippe Wang
cours 11
http://www-apr.lip6.fr/~pwang/LI349-2012-2013--cours-11.pdf
Plan du cours 11
Généralités sur les machines abstraites
Description de la ZAM
Compiler pour la ZAM
Implantations de la ZAM
UPMC — Licence Informatique — Compilation (LI349) — Cours 11 — 2012/2013
les pages de ce cours sont très inspirées de celles d’Emmanuel Chailloux
qui a donné ce cours les quelques années précédentes
2/29
Généralités sur les machines abstraites
UPMC — Licence Informatique — Compilation (LI349) — Cours 11 — 2012/2013 3/29
Machines Abstraites
un modèle de calcul bien défini
enrichissements: fonctions, objets, formules logiques, etc.
gestion mémoire
manuelle (free/malloc) vs. automatique (Garbage Collector)
portabilité : comme s’il n’existait qu’une seule machine
implanter une fois la machine virtuelle par machine réelle
interopérabilité des langages : partage d’un modèle de calcul
autres caractéristiques : performances, compacité du code,
etc.
UPMC — Licence Informatique — Compilation (LI349) — Cours 11 — 2012/2013
• du matériel concret aux modèles de calcul •
S’abstraire des des machines réelles :
4/29
Diérents modèles de calcul
ruban
(programme/données)
tête de lecture et écriture
registre d’état
table d’instructions
état : ruban + position de la
tête + registre d’état
UPMC — Licence Informatique — Compilation (LI349) — Cours 11 — 2012/2013
machine de Turing machine de Krivine
état :
environnement + terme + pile
3 instructions :
grab, push, access
3 sortes de termes :
variable (e.g., x),
abstraction (e.g., fun x y),
application (e.g., z t)
• deux modèles (mathématiquement) universels •
mathématiquement capables de faire tous les calculs faisables par une machine
(cf. thèse de Church)
5/29
1 / 30 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !