GRAMMAIRE ATTRIBUÉE - Université de...

183
GRAMMAIRE ATTRIBUÉE IFT580 Compilation et interprétation des langages 1

Transcript of GRAMMAIRE ATTRIBUÉE - Université de...

Page 1: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

GRAMMAIRE ATTRIBUÉE IFT580 – Compilation et interprétation des langages

1

Page 2: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Une grammaire attribuée est une grammaire hors

contexte à laquelle on a ajouté des attributs sur les

nœuds

• La grammaire attribuée contient un ensemble de règles

d’évaluation pour les attributs qui sont associés aux

règles de production

2

Page 3: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Attributs

• Associés à chaque symbole de V et T

• Règles d’évaluation (règles sémantiques)

• A→X1X2…Xi…Xn

• A.att = f(attributs de A et de X1 à Xn)

• Xi.att = g(attributs de A et de X1 à Xn)

3

Page 4: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Il y a trois types d’attributs

• Attributs intrinsèques

• Associé à chaque symbole terminal et calculé par l’analyseur lexical

• Attributs synthétisés (pour A)

• Calculé en fonction des attributs de A et des X (A→X1X2…Xi…Xn)

• Attributs hérités (pour X)

• Calculé en fonction des attributs de A et des X (A→X1X2…Xi…Xn)

4

Page 5: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée

• Une grammaire attribuée est réputée bien formée si

• Les attributs sont divisés en groupe distinct (hérités et synthétisés)

• Les règles sémantiques sont cohérentes dans toute la grammaire

• La grammaire attribuée est complète

• Pour toutes les règles d’une même variable, les mêmes attributs sont

calculés

• La grammaire est WAG (Well-formed attribute grammar)

5

Page 6: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Lorsqu’une grammaire attribuée contient des attributs

hérités et synthétisés, il n’y a aucune garantie qu’il n’y a

pas de cycles dans le calcul

• Il existe des classes de grammaire attribuée qui ne

contiennent pas de cycles

• On va y revenir plus tard!

6

Page 7: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée

• L’utilisation d’une grammaire attribuée nous permet de

faire l’analyse sémantique dirigée par la syntaxe!

7

Page 8: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Il existe plusieurs types de grammaires attribuées

8

m-APAG (m-Alternating Passes Attribute Grammar)

Calcul des attributs :

• m passes en profondeur, en alternance

de gauche à droite et de droite à

gauche

Page 9: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Il existe plusieurs types de grammaires attribuées

9

m-APAG (m-Alternating Passes Attribute Grammar)

n-PAG (n-Passes Attribute Grammar)

Calcul des attributs :

• n passes en profondeur de gauche à

droite

Page 10: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Il existe plusieurs types de grammaires attribuées

10

m-APAG (m-Alternating Passes Attribute Grammar)

n-PAG (n-Passes Attribute Grammar)

L-AG (L-Attributed Grammar)

Calcul des attributs :

• en profondeur de gauche à

droite

Page 11: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire attribuée • Il existe plusieurs types de grammaires attribuées

11

m-APAG (m-Alternating Passes Attribute Grammar)

n-PAG (n-Passes Attribute Grammar)

L-AG (L-Attributed Grammar)

S-AG (S-Attributed Grammar)

Calcul des attributs :

• de bas en haut

Page 12: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire S-Attribuée • Grammaire attribuée contenant seulement des attributs

synthétisés

• Grammaire attribuée avec les règles les plus simples

• Le calcul des attributs peut se faire simplement à l’aide

d’un parcours en profondeur dans l’arbre abstrait

12

Page 13: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire S-Attribuée

• Chaque attribut associé à la partie gauche de la règle de

production est calculé en utilisant seulement les attributs

des composantes de la partie droite

• S’utilise bien avec un analyseur syntaxique LR

• Il n’y aura aucun cycle, c’est garanti

13

Page 14: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire S-Attribuée

14

Production Règles sémantiques

1) L → En L.val = E.val

2) E → E1+T E.val = E1.val + T.val

3) E → T E.val = T.val

4) T → T1*F T.val = T1.val * F.val

5) T → F T.val = F.val

6) F → (E) F.val = E.val

7) F → chiffre F.val = chiffre.vallex

Une calculatrice simplifiée

Page 15: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

15

3*5+4n

L

Production Règles sémantiques

E

val = ?

val = ? n

E val = ? + T

F

chiffre

T

T F *

chiffre F

chiffre

val = ?

val = ?

val = ?

vallex = 3

val = ?

vallex = 5 vallex = 4

val = ?

val = ?

Page 16: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

16

3*5+4n

L

Production Règles sémantiques

7) F → chiffre F.val = chiffre.vallex

E

val = ?

val = ? n

E val = ? + T

F

chiffre

T

T F *

chiffre F

chiffre

val = ?

val = ?

val = 3

vallex = 3

val = ?

vallex = 5 vallex = 4

val = ?

val = ?

Page 17: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

17

3*5+4n

L

Production Règles sémantiques

5) T → F T.val = F.val

E

val = ?

val = ? n

E val = ? + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = ?

val = 3

vallex = 3

val = ?

vallex = 5 vallex = 4

val = ?

val = ?

Page 18: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

18

3*5+4n

L

Production Règles sémantiques

7) F → chiffre F.val = chiffre.vallex

E

val = ?

val = ? n

E val = ? + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = ?

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = ?

val = ?

Page 19: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

19

3*5+4n

L

Production Règles sémantiques

4) T → T1*F T.val = T1.val*F.val

E

val = ?

val = ? n

E val = ? + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = 15

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = ?

val = ?

Page 20: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

20

3*5+4n

L

Production Règles sémantiques

3) E → T E.val = T.val

E

val = ?

val = ? n

E val = 15 + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = 15

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = ?

val = ?

Page 21: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

21

3*5+4n

L

Production Règles sémantiques

7) F → chiffre F.val = chiffre.vallex

E

val = ?

val = ? n

E val = 15 + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = 15

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = 4

val = ?

Page 22: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

22

3*5+4n

L

Production Règles sémantiques

5) T → F T.val = F.val

E

val = ?

val = ? n

E val = 15 + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = 15

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = 4

val = 4

Page 23: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

23

3*5+4n

L

Production Règles sémantiques

2) E → E1+T E.val = E1.val+T.val

E

val = ?

val = 19 n

E val = 15 + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = 15

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = 4

val = 4

Page 24: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

24

3*5+4n

L

Production Règles sémantiques

1) L → En L.val = E.val

E

val = 19

val = 19 n

E val = 15 + T

F

chiffre

T

T F *

chiffre F

chiffre

val = 3

val = 15

val = 3

vallex = 3

val = 5

vallex = 5 vallex = 4

val = 4

val = 4

Page 25: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire L-Attribuée • Une grammaire est L-attribuée si les attributs sont

• Synthétisés

• Hérités, avec des restrictions

• Un attribut hérité Xi.a, de la règle A→X1…Xi…Xn ne peut être calculé

qu’avec

• Les attributs hérités de A

• Les attributs hérités ou synthétisés de X1 à Xi-1 (à gauche de Xi)

• Les attributs hérités ou synthétisés de Xi, mais seulement si ça ne crée pas

de cycles

25

Page 26: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire L-Attribuée

26

Production Règles sémantiques

1) A → BC A.s = B.b

B.i = f(C.c, A.s)

La grammaire n’est pas L-attribuée car

• L’attribut hérité B.i est calculé avec un frère à

droite de B

Page 27: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire L-Attribuée

27

Production Règles sémantiques

1) T → FT’ T’.h = F.val

T.val = T’.s

2) T’ → *FT’1 T’1.h = T’.h*F.val

T’.s = T’1.s

3) T’ → ε T’.s = T’.h

4) F → chiffre F.val = chiffre.vallex

Synthétisé Hérité

Page 28: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

28

3*5

Production Règles sémantiques

T val = ?

F val = ?

*

T’

ε

F T’

chiffre

chiffre

s = ?

s = ? vallex = 3 val = ?

vallex = 5

h = ?

h = ?

Page 29: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

29

3*5

Production Règles sémantiques

4) F → chiffre F.val = chiffre.vallex

T val = ?

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = ?

s = ? vallex = 3 val = ?

vallex = 5

h = ?

h = ?

Page 30: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

30

3*5

Production Règles sémantiques

1) T → FT’ T’.h = F.val

T val = ?

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = ?

s = ? vallex = 3 val = ?

vallex = 5

h = ?

h = 3

Page 31: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

31

3*5

Production Règles sémantiques

4) F → chiffre F.val = chiffre.vallex

T val = ?

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = ?

s = ? vallex = 3 val = 5

vallex = 5

h = ?

h = 3

Page 32: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

32

3*5

Production Règles sémantiques

2) T’ → *FT’1 T’1.h = T’.h*F.val

T val = ?

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = ?

s = ? vallex = 3 val = 5

vallex = 5

h = 15

h = 3

Page 33: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

33

3*5

Production Règles sémantiques

3) T’ → ε T’.s = T’.h

T val = ?

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = ?

s = 15 vallex = 3 val = 5

vallex = 5

h = 15

h = 3

Page 34: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

34

3*5

Production Règles sémantiques

2) T’ → *FT’1 T’.s = T’1.s

T val = ?

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = 15

s = 15 vallex = 3 val = 5

vallex = 5

h = 15

h = 3

Page 35: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

35

3*5

Production Règles sémantiques

1) T’ → FT’ T.val = T’.s

T val = 15

F val = 3

*

T’

ε

F T’

chiffre

chiffre

s = 15

s = 15 vallex = 3 val = 5

vallex = 5

h = 15

h = 3

Page 36: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire n-PAG • Le calcul des attributs doit se faire en plusieurs parcours

• Chaque parcours est une passe

• Un attribut synthétisé peut dépendre d’un attribut hérité du nœud

• Un attribut hérité peut être calculé en fonction d’un attribut synthétisé sur le nœud courant • On doit parcourir en plusieurs passes pour calculer les noeuds

36

Page 37: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

37

Première passe

Attributs synthétisés

Attributs hérités

Page 38: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

38

Première passe

Attributs synthétisés

Attributs hérités

Page 39: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

39

Première passe

Attributs synthétisés

Attributs hérités

Page 40: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

40

Première passe

Attributs synthétisés

Attributs hérités

Page 41: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

41

Première passe

Attributs synthétisés

Attributs hérités

Page 42: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

42

Première passe

Attributs synthétisés

Attributs hérités

Page 43: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

43

Première passe

Attributs synthétisés

Attributs hérités

Page 44: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

44

Première passe

Attributs synthétisés

Attributs hérités

Page 45: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

45

Première passe

Attributs synthétisés

Attributs hérités

Page 46: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

46

Première passe

Attributs synthétisés

Attributs hérités

Page 47: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

47

Première passe

Attributs synthétisés

Attributs hérités

Page 48: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

48

Première passe

Attributs synthétisés

Attributs hérités

Page 49: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

49

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 50: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

50

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 51: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

51

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 52: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

52

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 53: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

53

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 54: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

54

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 55: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

55

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 56: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

56

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 57: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

57

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 58: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

58

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 59: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

59

Deuxième passe

Attributs synthétisés

Attributs hérités

Page 60: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Grammaire m-APAG • Le calcul des attributs doit se faire en plusieurs parcours

• Chaque parcours est une passe

• Chaque passe alterne le calcul des attributs hérités (ceux utilisant les frères de gauche, l’autre en utilisant les frères de droite)

• Un attribut synthétisé peut dépendre d’un attribut hérité du nœud

• Un attribut hérité peut être calculé en fonction d’un attribut synthétisé sur le nœud courant

• Un attribut hérité peut dépendre d’un frère de gauche ou de droite

60

Page 61: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

61

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 62: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

62

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 63: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

63

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 64: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

64

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 65: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

65

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 66: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

66

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 67: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

67

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 68: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

68

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 69: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

69

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 70: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

70

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 71: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

71

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 72: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

72

Première passe

Gauche à droite

Attributs synthétisés

Attributs hérités

Page 73: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

73

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 74: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

74

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 75: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

75

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 76: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

76

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 77: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

77

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 78: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

78

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 79: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

79

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 80: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

80

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 81: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

81

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 82: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

82

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 83: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

83

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 84: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

84

Deuxième passe

Droite à gauche

Attributs synthétisés

Attributs hérités

Page 85: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Écriture des règles sémantiques

• Il peut y avoir plusieurs façons d’écrire les règles

sémantiques pour un problème

• Voici un exemple de grammaire attribuée permettant de

calculer la valeur d’un nombre binaire

85 Exemple produit par Richard St-Denis

Page 86: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Écriture des règles sémantiques

86 Exemple produit par Richard St-Denis

Production Description

S → L,L Une partie entière et fractionnaire

L → LB Une suite d’au moins un bit

L → B Un bit

B → 0 Un bit à 0

B → 1 Un bit à 1

Page 87: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 0

87 Exemple produit par Richard St-Denis

Production Règles sémantiques

S → L1,L2 S.val = L1.val + L2.val

L → L1B ???

L → B L.val = B.val

B → 0 B.val = 0

B → 1 B.val = 1

Attributs synthétisés seulement

• Grammaire S-Attribuée

Page 88: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 0

88 Exemple produit par Richard St-Denis

Production Règles sémantiques

S → L1,L2 S.val = L1.val + L2.val

L → L1B ???

L → B L.val = B.val

B → 0 B.val = 0

B → 1 B.val = 1

S

L1 , L2

B B

1 1

val = 1 val = 1

val = 1 val = 1

val = 2

Page 89: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 1

89 Exemple produit par Richard St-Denis

Production Règles sémantiques

S → L1,L2 S.val = L1.e + L2.f

L → L1B L.e = 2 * L1.e + B.val

L.f = L1.f + ½L1.pos+1 * B.val

L.pos = L1.pos + 1

L → B L.e = B.val

L.f = ½B.val

L.pos = 1

B → 0 B.val = 0

B → 1 B.val = 1

• Tous les attributs sont

synthétisés

• On calcule toujours la partie

entière et fractionnaire (travail

fait en double)

• Les attributs :

• L.e : La partie entière

• L.f : La partie fractionnaire

• L.pos : La position du bit

• B.val :La valeur du bit

• S.val : La valeur du nombre

Page 90: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

90 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1,L2

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 91: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

91 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 92: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

92 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 93: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

93 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 94: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

94 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ? val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 95: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

95 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.pos = 1

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = ?

pos = 1 val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 96: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

96 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.f = ½B.val

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = ?

f = 0,5

pos = 1 val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 97: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

97 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.e = B.val

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1 val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 98: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

98 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = ?

f = ?

pos = ? e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 99: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

99 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.pos = L1.pos + 1

e = ?

f = ?

pos = ? e = ?

f = ?

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 100: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

100 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f + ½L1.pos+1 * B.val

e = ?

f = ?

pos = ? e = ?

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 101: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

101 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2*L1.e + B.val

e = ?

f = ?

pos = ? e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 102: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

102 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 0 B.val = 0

e = ?

f = ?

pos = ? e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 103: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

103 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.pos = L1.pos + 1

e = ?

f = ?

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 104: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

104 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f + ½L1.pos+1 * B.val

e = ?

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 105: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

105 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 106: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

106 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 107: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

107 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 108: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

108 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 109: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

109 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = ?

Page 110: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

110 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.pos = 1

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

pos = ?

e = ?

f = ?

pos = 1

e = ?

f = ?

pos = ?

Page 111: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

111 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.f = ½B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

pos = ?

e = ?

f = 0,5

pos = 1

e = ?

f = ?

pos = ?

Page 112: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

112 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.e = B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1

e = ?

f = ?

pos = ?

Page 113: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

113 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1

e = ?

f = ?

pos = ?

Page 114: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

114 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.pos = L1.pos + 1

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1

e = ?

f = ?

pos = 2

Page 115: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

115 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f + ½L1.pos+1 * B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1

e = ?

f = 0,75

pos = 2

Page 116: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

116 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1

e = 3

f = 0,75

pos = 2

Page 117: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

117 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

pos = ?

e = 1

f = 0,5

pos = 1

e = 3

f = 0,75

pos = 2

Page 118: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

118 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.pos = L1.pos + 1

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

pos = 3

e = 1

f = 0,5

pos = 1

e = 3

f = 0,75

pos = 2

Page 119: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

119 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f + ½L1.pos+1 * B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = ?

f = 0,875

pos = 3

e = 1

f = 0,5

pos = 1

e = 3

f = 0,75

pos = 2

Page 120: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

120 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = 7

f = 0,875

pos = 3

e = 1

f = 0,5

pos = 1

e = 3

f = 0,75

pos = 2

Page 121: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

121 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val =

6,875

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1, L2 S.val = L1.e + L2.f

e = 6

f = 0,75

pos = 3 e = 3

f = 0,75

pos = 2

e = 1

f = 0,5

pos = 1 val = 1

val = 1 val = 1

val = 1

e = 7

f = 0,875

pos = 3

e = 1

f = 0,5

pos = 1

e = 3

f = 0,75

pos = 2

Page 122: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 2

122 Exemple produit par Richard St-Denis

Production Règles sémantiques

S → L1,L2 S.val = L1.val + ½L2.lg*L2.val

L → L1B L.val = 2 * L1.val + B.val

L.lg = L1.lg + 1

L → B L.val = B.val

L.lg = 1

B → 0 B.val = 0

B → 1 B.val = 1

• Tous les attributs sont

synthétisés

• On ne calcule plus en double la

partie entière et fractionnaire,

seulement la longueur

• Les attributs :

• L.val : La valeur de la

chaîne de bits

• L.lg : La longueur de la

chaîne de bits

• B.val :La valeur du bit

• S.val : La valeur du nombre

Page 123: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

123 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1, L2

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ? val = ?

val = ? val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 124: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

124 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ? val = ?

val = ? val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 125: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

125 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ? val = ?

val = ? val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 126: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

126 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ? val = ?

val = ? val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 127: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

127 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ? val = ?

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 128: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

128 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.lg = 1

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = 1 val = ?

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 129: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

129 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.val = B.val

val = ?

lg = ?

val = ?

lg = ?

val = 1

lg = 1 val = ?

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 130: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

130 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

val = ?

lg = ?

val = ?

lg = ?

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 131: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

131 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.lg = L1.lg + 1

val = ?

lg = ?

val = ?

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 132: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

132 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.val = 2 * L1.val + B.val

val = ?

lg = ?

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 133: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

133 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 0 B.val = 0

val = ?

lg = ?

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 134: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

134 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.lg = L1.lg + 1

val = ?

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 135: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

135 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.val = 2 * L1.val + B.val

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 136: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

136 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 137: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

137 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 138: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

138 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = ?

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 139: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

139 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = ?

val = ?

lg = ?

val = ?

lg = ?

val = ?

lg = ?

Page 140: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

140 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.lg = 1

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = ?

val = ?

lg = ?

val = ?

lg = 1

val = ?

lg = ?

Page 141: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

141 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.val = B.val

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = ?

val = ?

lg = ?

val = 1

lg = 1

val = ?

lg = ?

Page 142: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

142 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = 1

val = ?

lg = ?

val = 1

lg = 1

val = ?

lg = ?

Page 143: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

143 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.lg = L1.lg + 1

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = 1

val = ?

lg = ?

val = 1

lg = 1

val = ?

lg = 2

Page 144: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

144 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.val = 2 * L1.val + B.val

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = 1

val = ?

lg = ?

val = 1

lg = 1

val = 3

lg = 2

Page 145: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

145 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = 1

val = ?

lg = ?

val = 1

lg = 1

val = 3

lg = 2

Page 146: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

146 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.lg = L1.lg + 1

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = 1

val = ?

lg = 3

val = 1

lg = 1

val = 3

lg = 2

Page 147: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

147 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.val = 2 * L1.val + B.val

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 1 val = 1

val = 1 val = 1

val = 1

val = 7

lg = 3

val = 1

lg = 1

val = 3

lg = 2

Page 148: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

148 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val =

6,875

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1, L2 S.val = L1.val + ½L2.lg L2.val

val = 6

lg = 3

val = 3

lg = 2

val = 1

lg = 0,5 val = 1

val = 1 val = 1

val = 1

val = 7

lg = 3

val = 1

lg = 1

val = 3

lg = 2

Page 149: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 3

149 Exemple produit par Richard St-Denis

Production Règles sémantiques

S → L1,L2 S.val = L1.e + L2.f

L1.h = 0

L2.h = 0

L → L1B L1.h = ½L.h + ½B.val

L.e = 2 * L1.e + B.val

L.f = L1.f

L → B L.e = B.val

L.f = ½L.h + ½B.val

B → 0 B.val = 0

B → 1 B.val = 1

• Il y a des attributs synthétisés

et hérités!

• Les calculs sont encore faits en

double

• Les attributs :

• L.e : La partie entière

• L.f : La partie fractionnaire

• L.h : L’attribut hérité

• B.val :La valeur du bit

• S.val : La valeur du nombre

• La solution est simple à

calculer

Page 150: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

150 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1, L2

e = ?

f = ?

h = ? e = ?

f = ?

h = ?

e = ?

f = ?

h = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 151: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

151 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1, L2 L1.h = 0

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = ?

f = ?

h = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 152: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

152 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = ?

f = ?

h = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

!

Page 153: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

153 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = ?

f = ?

h = ? val = ?

val = ? val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

!

Page 154: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

154 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = ?

f = ?

h = ? val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 155: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

155 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.e = B.val

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = 1

f = ?

h = ? val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 156: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

156 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.f = ½L.h + ½B.val

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = 1

f = ?

h = ? val = ?

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

!

Page 157: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

157 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = ?

f = ?

h = 0 e = ?

f = ?

h = ?

e = 1

f = ?

h = ? val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 158: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

158 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = ?

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = ?

f = ?

h = 0 e = 3

f = ?

h = ?

e = 1

f = ?

h = ? val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 159: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

159 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 0 B.val = 0

e = ?

f = ?

h = 0 e = 3

f = ?

h = ?

e = 1

f = ?

h = ? val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 160: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

160 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = 6

f = ?

h = 0 e = 3

f = ?

h = ?

e = 1

f = ?

h = ? val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 161: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

161 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = 6

f = ?

h = 0 e = 3

f = ?

h = 0

e = 1

f = ?

h = ? val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 162: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

162 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = 6

f = ?

h = 0 e = 3

f = ?

h = 0

e = 1

f = ?

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 163: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

163 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.f = ½L.h + ½B.val

e = 6

f = ?

h = 0 e = 3

f = ?

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 164: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

164 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f

e = 6

f = ?

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 165: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

165 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 166: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

166 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1,L2 L1.h = 0

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = 0

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 167: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

167 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = 0

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

!

Page 168: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

168 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = ?

val = ?

e = ?

f = ?

h = 0

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

!

Page 169: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

169 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

h = 0

e = ?

f = ?

h = ?

e = ?

f = ?

h = ?

Page 170: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

170 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.e = B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

h = 0

e = 1

f = ?

h = ?

e = ?

f = ?

h = ?

Page 171: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

171 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.f = ½L.h + ½B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = ?

e = ?

f = ?

h = 0

e = 1

f = ?

h = ?

e = ?

f = ?

h = ?

!

Page 172: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

172 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

h = 0

e = 1

f = ?

h = ?

e = ?

f = ?

h = ?

Page 173: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

173 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = ? L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

h = 0

e = 1

f = ?

h = ?

e = 3

f = ?

h = ?

Page 174: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

174 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

B → 1 B.val = 1

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = ?

f = ?

h = 0

e = 1

f = ?

h = ?

e = 3

f = ?

h = ?

Page 175: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

175 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.e = 2 * L1.e + B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = ?

h = 0

e = 1

f = ?

h = ?

e = 3

f = ?

h = ?

Page 176: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

176 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = ?

h = 0

e = 1

f = ?

h = ?

e = 3

f = ?

h = 0,5

Page 177: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

177 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L1.h = ½L.h + ½B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = ?

h = 0

e = 1

f = ?

h = 0,75

e = 3

f = ?

h = 0,5

Page 178: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

178 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → B L.f = ½L.h + ½B.val

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = ?

h = 0

e = 1

f = 0,875

h = 0,75

e = 3

f = ?

h = 0,5

Page 179: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

179 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = ?

h = 0

e = 1

f = 0,875

h = 0,75

e = 3

f = 0,875

h = 0,5

Page 180: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

180 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val = ?

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

L → L1B L.f = L1.f

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = 0,875

h = 0

e = 1

f = 0,875

h = 0,75

e = 3

f = 0,875

h = 0,5

Page 181: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

181 Exemple produit par Richard St-Denis

S

L1 , L2

B

0

val = 0

val =

6,875

L

B L

B

B

1

val = 1 L

B

L

B

1

1

1

1

Production Règles sémantiques

S → L1, L2 S.val = L1.e + L2.f

e = 6

f = 0,75

h = 0 e = 3

f = 0,75

h = 0

e = 1

f = 0,75

h = 0,5 val = 1

val = 1 val = 1

val = 1

e = 7

f = 0,875

h = 0

e = 1

f = 0,875

h = 0,75

e = 3

f = 0,875

h = 0,5

Page 182: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 4

182 Exemple produit par Richard St-Denis

Production Règles sémantiques

S → L1,L2 S.val = L1.val + L2.val

L1.m = 2

L1.p = 1

L2.m = 1

L1.p = ½

L → L1B L.val = L1.val + B.val

L.c = B.p

L1.m = L.m

L1.p = L.p * L.m

B.p = ½L1.c

L → B L.val = B.val

L.c = B.p

B.p = L.p

B → 0 B.val = 0

B → 1 B.val = B.p

• Les attributs sont synthétisés et

hérités

• Le travail n’est plus fait en

double, mais la solution est

complexe

• Les attributs :

• L.m : Multiplicateur

• L.p : Poids

• L.c : Poids du bit de la liste

• L.val : Valeur de la liste

• B.p : Le poids du bit

• B.val :Le poids du bit

• S.val : La valeur du nombre

Page 183: GRAMMAIRE ATTRIBUÉE - Université de Sherbrookeinfo.usherbrooke.ca/vducharme/ift580/notes/04-Grammaire...Grammaire attribuée •Une grammaire attribuée est une grammaire hors contexte

Solution 4

• Le calcul des attributs est à faire en exercices!

183