Top Banner
GRAMMAIRE ATTRIBUÉE IFT580 Compilation et interprétation des langages 1
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

Jan 20, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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