| 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.