Enoncé et corrigé en Postscript | Réponses intégrées ou à la demande |
Examen de majeure 2 Langages et compilation (Durée 2h) 29 mars 1999 |
On attachera une importance particulière à la clarté, à la précision et la la concision de la rédaction.
|
carré
suivante:
function carré (n : integer) : integer; begin carré := n * n end; |
carre: mul $v0, $a0, $a0 # v0 <- n n j $ra # Retour à l'appelant |
cube
suivante:
function cube (n : integer) : integer; begin cube := carré(n) * n end; |
carré
dans la fonction
cube
.
function quatre (n : integer) : integer; begin quatre := carré (carré (n*n)) end; |
carré
dans
la fonction quatre
qui suggère un schéma général et correct.
|
|
|
type g1 = G1_S of e1 and e1 = G1_gEd of e1 | G1_EE of e1 * e1 | G1_0;; |
g2
représentant les arbres
syntaxiques de la grammaire G2.
a2
correspondant à la dérivation de ggdgdd dans G2 que vous avez donnée
ci-dessus.
mot1
qui prend
un arbre syntaxique de type g1
et qui retourne le mot (chaîne de
caractères) du langage L lui correspondant.
réécrit
qui transforme un arbre syntaxique a1
de type
g1
en un arbre syntaxique a2
de type g2
tel que a2
représente le même mot que a1
(la preuve de correction n'est pas demandée dans cette question).
réécrit
.
En déduire que G2 reconnaît tout L.
This document was translated from LATEX by HEVEA and HACHA.