damien nouveldamien.nouvels.net/cours/langages/05_langageshorscontexte.pdf · æ pas toujours (par...

38
Langages hors-contexte Damien Nouvel Damien Nouvel (Inalco) Langages hors-contexte 1 / 30

Upload: lamhuong

Post on 30-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Langages hors-contexte

Damien Nouvel

Damien Nouvel (Inalco) Langages hors-contexte 1 / 30

Page 2: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Origines

Plan

1. Origines

2. Définitions

3. Dérivations

4. Simplification

Damien Nouvel (Inalco) Langages hors-contexte 2 / 30

Page 3: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Origines

Langages réguliers et grammaires

§ Les langages réguliers (ou rationnels) reconnaissent• Des mots issus de lexiques• Des formes normales (chiffres, dates, etc.)

ñ Ils sont insuffisants pour• Les formes récursives• Les structures de type tanbnu

• La recherche de la syntaxe dans le langage naturel• L’analyse de programmes

ñ La machine de Turing peut faire mieux que ça !

Damien Nouvel (Inalco) Langages hors-contexte 3 / 30

Page 4: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Origines

Historique des grammaires

§ Hiérarchie de Chomsky (1956)• Analyse du langage naturel (morphologie, syntaxe)• Grammaire formelles

• Type 0 : grammaires générales (machine de Turing)• Type 1 : grammaires contextuelles (automates lin. bornés)• Type 2 : grammaires hors-contexte (automates à pile)• Type 3 : grammaires régulières (automates à états finis)

§ Langages de programmation artificiels (compilation)• Compilateurs mot-à-mot (assembleur)• Expressions mathématiques : arbres d’analyse• Compilateurs modernes

• Analyse lexicale (scanner)• Analyse syntaxique (parser)

ñ Utilisation des méthodes linguistiques pour la programmationDamien Nouvel (Inalco) Langages hors-contexte 4 / 30

Page 5: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Définitions

Plan

1. Origines

2. Définitions

3. Dérivations

4. Simplification

Damien Nouvel (Inalco) Langages hors-contexte 5 / 30

Page 6: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Définitions

Arbre d’expression

§ Analyse de l’expression mathématique 1

2+ 3 ˚

?9

• Priorité des opérateurs : (12+ (3 ˚

?9))

• Arbre d’expression :

+

˜

1 2

˚

3?

9

ñ Chaque branche est aussi une expression valide : 1

2, 3 ˚

?9

Damien Nouvel (Inalco) Langages hors-contexte 6 / 30

Page 7: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Définitions

Backus-Naur Form

§ Langage de programmation Algol 1960 (J. Backus et P. Naur)§ Règles de description du langage

• Pour la programmation<ifstruct> ::= "if" "(" <test> ")" "{" <block> "}"<test> ::= <var> "==" <num> | <var> "&&" <var> | …<block> ::= <inst> | <inst> <block>

ñ Vérification de la syntaxe des programmesñ Récursivité dans les règles• Pour la linguistique

<E> ::= <GN> <GV><GN> ::= <DET> <NC> | <DET> <ADJ> <NC><GV> ::= "marche" | "dort"<DET> ::= "le"<NC> ::= "chien" | "chat"<ADJ> ::= "petit" | "gros"

Damien Nouvel (Inalco) Langages hors-contexte 7 / 30

Page 8: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Définitions

Définition des grammaires hors-contexte

ñ Reconnaissance / génération de langages§ Quadruplet G = (T,N,R, S)

• T : symboles terminauxñ Les mots possibles des énoncés• N : symboles non-terminaux

ñ Groupes de mots intéressants (GN, GV, etc.)• R Ă N ˆ (N Y T)˚ : règles

ñ Déterminent la composition des groupes de motsñ Notations

• Une règle s’écrit A Ñ α avec A P N et α P (N Y T)˚

• Des règles A Ñ α et A Ñ β s’écrivent A Ñ α|β

• S P N : axiome (symbole de départ)ñ Représente l’énoncé

Damien Nouvel (Inalco) Langages hors-contexte 8 / 30

Page 9: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Définitions

Exemple

§ Expressions mathématiques• N = tS,Eu et T = t+, ˚,˜,

?, (, ), 1, 2, 3...u

• Règles :S Ñ EE Ñ E + EE Ñ E ˚ EE Ñ E ˜ EE Ñ (E)E Ñ

?E

E Ñ 1|2|3 . . .

§ Une dérivation possible :S Ñ E Ñ E + E Ñ E ˜ E + E ¨ ¨ ¨ Ñ 1 ˜ 2 + 3 ˚

?9

Damien Nouvel (Inalco) Langages hors-contexte 9 / 30

Page 10: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Définitions

Exercices

§ Définissez des grammaires qui reconnaissent• Le langage des dates au format jj/mm/aaaa• Un plaque d’immatriculation françaises• Un nombre entier naturel (positif)• Un nombre réel• Le langage régulier ab˚cd˚

• Le langage tancn,n ą 0u

• Les palindrômes• Une expression de parenthèses () et crochets []• Le langage tanbcmd,n ą 0,m ě nu

Damien Nouvel (Inalco) Langages hors-contexte 10 / 30

Page 11: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Dérivations

Plan

1. Origines

2. Définitions

3. Dérivations

4. Simplification

Damien Nouvel (Inalco) Langages hors-contexte 11 / 30

Page 12: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Dérivations

Dérivation

§ Opérations qui génèrent le langage pour une grammaire§ Un mot α P (N Y T)˚ se dérive en un mot β P (N Y T)˚ si

• α se décompose en α1Aα2 avec A P N• β se décompose en α1γα2 avec γ P (N Y T)˚

• A Ñ γ P R (c’est une règle)§ Exemple : E + E ˜ E Ñ E + E ˚ E ˜ E

• α1 = E+• α2 = ˜E• A = E• γ = E ˚ E• E Ñ E ˚ E P R

Damien Nouvel (Inalco) Langages hors-contexte 12 / 30

Page 13: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Dérivations

Suite de dérivations

§ Par transitivité• Chaîne de dérivations α Ñ β ¨ ¨ ¨ Ñ γ = α

˚ÝÑ γ

• Fermeture transitive, clôture (cf étoile de Kleene)• Si γ P (N Y T)˚ alors γ est une proto-phrase de G

§ Ordre des dérivations• Possibilité d’analyses pour 1 + 2 + 3

• Dérivation gauche : réécrit le non-terminal le plus à gaucheE Ñ E + E Ñ 1 + E Ñ 1 + E + E Ñ 1 + 2 + E Ñ 1 + 2 + 3

• Dérivation droite : réécrit le non-terminal le plus à droiteE Ñ E + E Ñ E + 3 Ñ E + E + 3 Ñ E + 2 + 3 Ñ 1 + 2 + 3

ñ Dérivations différentes …même résultat ?ñ Pas toujours (par ex. associativité, priorité des opérateurs)

Damien Nouvel (Inalco) Langages hors-contexte 13 / 30

Page 14: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Dérivations

Langage généré

§ Soit G une grammaire, alors le langage généré par G est

L(G) = tm P T˚|S ˚ÝÑ mu

ñ Sous-ensemble de T˚

ñ Pas nécessairement fini

Damien Nouvel (Inalco) Langages hors-contexte 14 / 30

Page 15: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Dérivations

Arbre de dérivation

§ Représentation graphique de la dérivation• Racine : symbole initial = S• Nœud : symbole non-terminal P N• Feuille : symbole terminal P T• Relation parent-enfants : dérivation (règle)

ñ Structure de l’analyse§ Dérivations (et analyses) de 1 + 2 ˚ 3

E

E

E

1

+ E

2

˚ E

3

dérivation gauche

E

E

1

+ E

E

2

˚ E

3

dérivation droiteDamien Nouvel (Inalco) Langages hors-contexte 15 / 30

Page 16: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Plan

1. Origines

2. Définitions

3. Dérivations

4. Simplification

Damien Nouvel (Inalco) Langages hors-contexte 16 / 30

Page 17: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Simplifier une grammaire

ñ Supprimer les éléments inutiles de la grammaire• Symboles improductifs

• A est improductif s’il n’y a pas de m P T˚ tel que A ˚ÝÑ m

• Symboles inaccessibles• A est inaccessible s’il n’y a pas de α et β tels que S ˚

ÝÑ αAβ

• ϵ-productions• Une ϵ-production est une dérivation telle que A ˚

ÝÑ ϵ

• Production simple• A Ñ B est une production simple si A P N et B P N

ñ Pour toute grammaire, il existe une grammaire équivalentesans symboles improductifs ni inaccessibles, sansϵ-productions ni productions simples

Damien Nouvel (Inalco) Langages hors-contexte 17 / 30

Page 18: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Élimination des symboles improductifs

§ Calcul des symboles productifs• Soit P0 = H et i = 1• Soit P1 = tA P N, Dα P T˚,A Ñ α P Ru• Tant que Pi ‰ Pi´1

• Pi+1 = Pi Y tA P N, Dα P (T Y Pi)˚,A Ñ α P Ru

• i Ð i + 1

ñ Les symboles de NzP sont improductifsñ Enlever ces symboles et les règles dans lesquels ils figurent

Damien Nouvel (Inalco) Langages hors-contexte 18 / 30

Page 19: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Élimination des symboles inaccessibles

§ Calcul des symboles accessibles• Soit C0 = H, C1 = tSu et i = 1• Tant que Ci ‰ Ci´1

• Ci+1 = Ci Y tA P N, Dα, β P (N Y T)˚,X P Ci,X Ñ αAβ P Ru

ñ Les symboles de NzC sont inaccessiblesñ Enlever ces symboles et les règles dans lesquels ils figurent

Damien Nouvel (Inalco) Langages hors-contexte 19 / 30

Page 20: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Élimination des ϵ-productions

§ Calcul des symboles annulables• Soit U0 = H et i = 1• Soit U1 = tA P N,A Ñ ϵ P Ru• Tant que Pi ‰ Pi´1

• Ui+1 = Ui Y tA P N, Dα P (Ui)˚,A Ñ α P Ru

• i Ð i + 1

ñ Les symboles de U sont annulables§ Modification de la grammaire

• Remplacer les règles A Ñ αXβ où X P U par A Ñ αXβ|αβ(avec combinaisons possibles de X dans les règles)

• Supprimer toutes les règles A Ñ ϵ (sauf pour S)• Supprimer toutes les règles A Ñ A

ñ Grammaire équivalente à ϵ prèsDamien Nouvel (Inalco) Langages hors-contexte 20 / 30

Page 21: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Équivalences et productions simples

§ Productions simples, dérivations et classes d’équivalences• Production simple : toute règle A Ñ B avec B P N• Soit la relation ě telle que A ě B si A ˚

ÝÑ B• Soit la relation « telle que A « B si A ě B et B ě A• Classes d’équivalences

• Si A « B, tout ce qui est dérivé de A peut l’être de B• Relation réflexive, symétrique et transitive• L’ensemble des classes est une partition de N

§ Modification de la grammaire• On conserve les productions non-simples• Pour chaque classe d’équivalence

ñ Choisir un symbole qui remplace tous les autresñ Pour chaque dérivation A ˚

ÝÑ B• Pour chaque B Ñ β, ajouter A Ñ β

Damien Nouvel (Inalco) Langages hors-contexte 21 / 30

Page 22: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ T|U2. U Ñ aYb|V3. V Ñ W4. X Ñ W|a5. Y Ñ Z6. Z Ñ c|ϵ

§ Étapes• Symboles productifs :• Symboles accessibles :• ϵ-productions :• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 23: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ T|U2. U Ñ aYb|V3. V Ñ W4. X Ñ W|a5. Y Ñ Z6. Z Ñ c|ϵ

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles :• ϵ-productions :• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 24: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ U2. U Ñ aYb3.4. X Ñ a5. Y Ñ Z6. Z Ñ c|ϵ

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles :• ϵ-productions :• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 25: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ U2. U Ñ aYb3.4. X Ñ a5. Y Ñ Z6. Z Ñ c|ϵ

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles : tS,U,Y,Zu ñ retirer X• ϵ-productions :• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 26: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ U2. U Ñ aYb3.4.5. Y Ñ Z6. Z Ñ c|ϵ

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles : tS,U,Y,Zu ñ retirer X• ϵ-productions :• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 27: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ U2. U Ñ aYb3.4.5. Y Ñ Z6. Z Ñ c|ϵ

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles : tS,U,Y,Zu ñ retirer X• ϵ-productions : tZ,Yu ñ modifier 6, 2• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 28: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ U2. U Ñ aYb|ab3.4.5. Y Ñ Z6. Z Ñ c

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles : tS,U,Y,Zu ñ retirer X• ϵ-productions : tZ,Yu ñ modifier 6, 2• Productions simples :

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 29: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ U2. U Ñ aYb|ab3.4.5. Y Ñ Z6. Z Ñ c

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles : tS,U,Y,Zu ñ retirer X• ϵ-productions : tZ,Yu ñ modifier 6, 2• Productions simples : S Ñ U et Y Ñ Z ñ modifier 1, 2, 5, 6

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 30: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exemple : simplification de grammaire

§ Grammaire1. S Ñ aYb|ab2.3.4.5. Y Ñ c6.

§ Étapes• Symboles productifs : tX,Z,Y,U,Su ñ retirer T, V et W• Symboles accessibles : tS,U,Y,Zu ñ retirer X• ϵ-productions : tZ,Yu ñ modifier 6, 2• Productions simples : S Ñ U et Y Ñ Z ñ modifier 1, 2, 5, 6

Damien Nouvel (Inalco) Langages hors-contexte 22 / 30

Page 31: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exercice : simplification de grammaire

§ Réduire les grammaires suivantes• G1

• S Ñ bSc|bTc|a|ϵ• T Ñ U• U Ñ bUc|T• V Ñ U|bc

• G2

• S Ñ UXT• T Ñ b• U Ñ aV|aXTXb• V Ñ cV|aWT• W Ñ V• X Ñ ab|ϵ• Y Ñ cZ• Z Ñ aa

Damien Nouvel (Inalco) Langages hors-contexte 23 / 30

Page 32: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Formes normales

§ Forme normale de Chomsky : toutes règles de la forme• A Ñ BC avec A,B,C P N• A Ñ a avec a P T

§ Forme normale de Greibach : toutes règles de la forme• A Ñ aα avec a P T, α P N˚

ñ Pour tout langage hors-contexte il existe une grammaire enforme normale de Chomsky et une grammaire en formenormale de Greibach qui le génèrent

Damien Nouvel (Inalco) Langages hors-contexte 24 / 30

Page 33: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Mise sous forme normale de Chomsky

§ Étapes• Pour chaque terminal a, crééer

• Un symbole Za• Une règle Za Ñ a

• Pour chaque règle A Ñ α où |α| ą 1• Tout terminal a de α est remplacé par Za

• Pour chaque règle A Ñ α où |α| ą 2• On décompose : α = A1,A2 . . .An• On crée les non-terminaux Y1,Y2 . . .Yn´2

• On remplace A Ñ α parA Ñ A1Y1

Y1 Ñ A2Y2

. . .Yn´2 Ñ An´1An

• Suppression des ϵ-productions et productions simplesñ Forme normale de ChomskyDamien Nouvel (Inalco) Langages hors-contexte 25 / 30

Page 34: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Récursivité

§ Symbole récursif : A ˚ÝÑ αAβ

• Si α = ϵ, A est récursif à gauche• Si β = ϵ, A est récursif à droite• Si ˚

ÝÑ ne comporte qu’une dérivation : récursivité directe• Si ˚

ÝÑ comporte plusieurs dérivations : récursivité indirecteñ Une grammaire récursive comporte un symbole récursif

§ Exemple : grammaire indirectement récursive à gauche• A Ñ B• B Ñ CD• C Ñ AE

§ Suppression de la récursivité directe• Remplacer toute règle A Ñ Aa|b

• A Ñ bA1

• A1 Ñ aA1|ϵ

Damien Nouvel (Inalco) Langages hors-contexte 26 / 30

Page 35: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Ambiguïté et équivalence

§ Ambiguïté de grammaires• Grammaire : un mot est généré par deux arbres de dérivation

ñ Exemple : rattachement prépositionnel• S Ñ GN V GN PRP GN• S Ñ GN V GN• GN Ñ GN PRP GNñ Il voit le chat de sa voisine (le chat de qui ?)ñ Il voit le chat de sa fenêtre (d’où voit-il ?)

• Ambiguïté sémantique (plutôt que morpho-syntaxique)§ Équivalence de grammaires

• Génèrent le même langage• Donnent les même arbres d’analyse (équivalence forte)

Damien Nouvel (Inalco) Langages hors-contexte 27 / 30

Page 36: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Autre formalismes de grammaires

§ Insuffisances des grammaires hors-contexte• Accords (flexions / morphologie)• Anaphores• Portée de la coordination• Méthodes statistiques

ñ Non traitées par les grammaires hors-contexte§ Autres formalismes

• PCFG (Probabilistic context-free grammar)• LFG (Lexical Functional Grammar)• HPSG (Head-driven Phrase Structure Grammar)• TAG (Tree Adjoining Grammar)• CCG (Combinatory Categorial Grammar)• Transition-based Parsing• …

Damien Nouvel (Inalco) Langages hors-contexte 28 / 30

Page 37: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

Exercices

§ Mettre sous forme normale de Chomsky• S Ñ AbA• A Ñ AaA|ca

§ Soit l’ensemble de symboles non-terminaux :N = tGN,GV,DET,PREP,NOM,ADJ,ADVu

• Définissez les règles d’une grammaire qui génère des phrases• Ajoutez des éléments terminaux et leurs règles• Donnez les arbres de dérivation pour les phrases suivantes

• le chat mange• le chat mange la souris• le chat regarde le bout de fromage

• Donnez quelques phrases générées par la grammaire• Quel problème rencontre-t-on pour les genres (m/f) ?• Modifiez la grammaire pour les phrases interrogatives

Damien Nouvel (Inalco) Langages hors-contexte 29 / 30

Page 38: Damien Nouveldamien.nouvels.net/cours/langages/05_LangagesHorsContexte.pdf · æ Pas toujours (par ex. associativité, ... æ Les symboles de U sont annulables ... Y;U;Su æ retirer

Simplification

TP : SWI-Prolog:- use_rendering(svgtree, [list(false)]).

% Règles non terminaless(s(X,Y)) --> gn(X), gv(Y).gn(X) --> np(X).gn(gn(X,Y)) --> det(X), nc(Y).gv(gv(X,Y)) --> v(X), gn(Y).

% Règles terminalesnp(np(jean)) --> [jean].det(det(de)) --> [de].nc(nc(philosophie)) --> [philosophie].nc(nc(politique)) --> [politique].v(v(discute)) --> [discute].

% Requêtephrase(s(Tree), [jean, discute, de, politique]).

Damien Nouvel (Inalco) Langages hors-contexte 30 / 30