Introduction à la Compilation
Cours 9 : Langage du premier ordre
Yann Régis-Gianas
PPS - Université Denis Diderot – Paris 7
Le flot de contrôle
Comment programmer des fonctions non constantes ?
ILe langage des expressions arithmétiques caractérise des entiers naturels.
IOr, pour être utile, un programme produit généralement un résultat en
fonction de ses entrées.
Les booléens et le branchement
IOn étend le langage des expressions arithmétiques :
e::= n
|x
|e+e
|ee
|let x:= ein e
|true |false (0)
|if ethen eelse e(1)
|xR?y(2)
I(0) est un booléen.
I(1) est une expression conditionnelle.
I(2) est la décision d’une propriété : ici, nous choisirons R∈{<, >, ,,=}.
ILe résultat vde l’évaluation d’une expression peut être n,true ou false.
Sémantique opérationnelle à grands pas
η`e1n1η`e2n2
η`e1e2n1Nn2η`nnη`false false
η`true true
η(x) = v
η`xv
η`e1v1η; (x7→ v1)`e2v2
η`let x:= e1in e2v2
η`ectrue η`e1v1
η`if ecthen e1else e2v1
η`ecfalse η`e2v2
η`if ecthen e1else e2v2
η`e1n1η`e1n2
η`e1R?e2true si n1Rn2est vrai
η`e1n1η`e1n2
η`e1R?e2false si n1Rn2est faux
1 / 56 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 !