• Aucun résultat trouvé

S´erie d’exercices #2½ IFT-2035 September 17, 2021

N/A
N/A
Protected

Academic year: 2022

Partager "S´erie d’exercices #2½ IFT-2035 September 17, 2021"

Copied!
1
0
0

Texte intégral

(1)

S´erie d’exercices #2 ½

IFT-2035 September 17, 2021

Micro optimizer

Soit le code Haskell ci-dessous:

data Exp = Enum Int -- Une constante

| Eplus Exp Exp -- e1 + e2

| Etimes Exp Exp -- e1 * e2 optimize :: Exp -> Exp

Expest un type qui repr´esente des expressions simples incluant uniquement des op´erateurs arithm´etiques. ´Ecrire la fonctionoptimizequi va essayer de simplifier une expression en ´eliminanttoutes les multiplications par 1 et 0, ainsi que les additions `a 0.

1

Références

Documents relatifs

Cette grammaire est récursive à gauche, ce qui pose problème pour cer- taines techniques d'analyse syntaxique : En eet, dans un parseur avec analyse descendante (top down), la

´ Ecrire la fonction optimize qui va essayer de simplifier une expression en ´ eliminant toutes les multiplications par 1 et 0, ainsi que les additions ` a

Comme d’habitude, vous pouvez pr´ esumer que toutes les entit´ es num´ eriques sont de type

Ces fonctions prennent deux arguments qui sont pass´ es de mani` ere

Bien sˆ ur, pour ˆ etre utile l’arbre doit ˆ etre maintenu dans l’ordre: toutes les cl´ es dans la branche de gauche d’un Node doivent ˆ etre plus petites que la cl´ e du

Ajouter un constructeur d’expression Elambda, un constructeur de valeur correspondante Vlambda, ainsi que les cas pour g´ erer ces con- structeurs dans

Comment faut-il changer ce code pour que l’´ evaluateur reproduise les r` egles de port´ ee utilis´ ees par le langage Haskell (i.e. que votre ´ evaluateur implante la port´

Mais il est plus simple et rapide de constater que, la forme étant fermée et définie sur un ensemble sans trou (elle est définie sur le plan tout entier, il n’y a pas de