La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT313 Solutions devoir #6 Été 2009 Éric Beaudry.

Présentations similaires


Présentation au sujet: "IFT313 Solutions devoir #6 Été 2009 Éric Beaudry."— Transcription de la présentation:

1 IFT313 Solutions devoir #6 Été 2009 Éric Beaudry

2 1. a) Fait au tableau … S → A B S → c A c A → a A | ε B → B b | ε

3 2 a) Terminaux: TypeExpression régulièreToken exemple num[0-9]+(.[0-9]+)?21, 0.3 var[a-zA-Z] [a-zA-Z0-9]*x plus\++ mult\** virgule,, grid plot set string \" [^\n"]* \""Courbe 3" title labelxlabel | ylabelxlabel newline\n commentaire# [^\n"]* \n# Premier exemple

4 2b) Grammaire ::= ::= \n ::= set label string ::= set grid ::= plot ::= pause ::= virgule | ::= title string ::= ::= plus | ::= ::= mult | ::=num ::= var ::= plus ::= mult ::= num ::= var ou

5 2c) Preuve SLR(1) ::= ● ::= ● \n ::= ● ::= ● \n ::= ● set label string ::= ● set grid ::= ● plot ::= plot ● ::= ● virgule ::= ● :: = ● title string ::= ● … … plot doit être développé. Item réduce seulement. Items shifts seulements. devrat être développé. doit être développé. ne peut générer les symboles, et title. I0I0 I1I1 I2I2

6 2c) (suite1) ::= plot ● ::= ● virgule Virgule n’est pas dans Follow( ). Il faudra développer. Cela mênera à un état I 4 semblable de I 2. Si I 2 ne génère pas de conflit, alors ce sera aussi vrai pour I 4. I3I3 ::= plot ● ::= ● virgule ::= ● :: = ● title string ::= ● … … I2I2 ::= virgule● :: = ● title string ::= ● … … virgule I4I4

7 2c) (suite2) ::= plot ● ::= ● virgule ::= ● :: = ● title string ::= ● … … I2I2 ::= ::= plus | ::= ::= mult | ::=num ::= var ::= plus ::= mult ::= num ::= var ou N’est pas SLR(1) ni LR(k) pour n’importe quel k. Cependant, on sait qu’on peut régler le problème en fixant des priorités d’opérateur. Cette grammaire était LL(1) dont certainement LR(1). Le symbole title n’est pas accessible depuis. Donc, il ça ne peut mener à un conflit.

8 2c) (suite3) ::= plot ● ::= ● virgule ::= ● :: = ● title string ::= ● plus ::= ● mult ::= ● var ::= ● num I2I2 :: = ● title string ::= ● plus ::= ● mult ::= plus ● ::= ● plus ::= ● mult ::= ● var ::= ● num plus ::= plus ● ::= ● plus ::= ● mult 2 conflits shitf / reduce ! Donner priorité au shift mult et shift plus. …


Télécharger ppt "IFT313 Solutions devoir #6 Été 2009 Éric Beaudry."

Présentations similaires


Annonces Google