ancien TP4
Transcription
ancien TP4
Master d’Informatique prolog Programme 4 : Encore les analyseurs. On se donne la grammaire suivante décrivant des formes simples d’interrogatives en français : <interrogative> ::= <interrogative> ::= < interrogative totale> < interrogative partielle> < interrogative totale> :: est-ce-que <proposition> < interrogative partielle> ::= <groupe interrogatif> <proposition incomplète> < proposition > ::= <sujet> <verbe> <complément> < proposition > ::= <quantificateur> <verbe> <complément> <groupe interrogatif> ::= qui <groupe interrogatif> ::= <adjectif> <nom> <proposition incomplète> ::= <verbe> <complément> <proposition incomplète> ::= <verbe> <sujet> <sujet> ::= Léa | Eve | Marie | Henry | Louis | Jean <verbe> ::= habite | habitent | parle | parlent | lit | lisent <complément> ::= Balzac | Hergé | Asimov | Aix | Nice | Cannes | Anglais | Chinois | Espagnol <nom> ::= auteur | auteurs | ville | villes | langue | langues <adjectif> ::= quel | quels | quelle | quelles <quantificateur> ::= tous | quelqu'un Cette grammaire autorise par exemple les interrogations suivantes : Qui parle Anglais ? Quels auteurs lit Marie ? Est-ce-que Henry lit Hergé ? Est-ce-que tous lisent Hergé ? a) Ecrire l’analyseur Prolog correspondant à cette grammaire. b) Compléter cet analyseur, par ajout d’arguments (traits de genre et de nombre), pour réaliser les accords en genre et en nombre et interdire, par exemple, des énoncés tels que : Est-ce-que Marie parlent Anglais ? Quel ville habitent Henry ? c) Compléter cet analyseur, par ajout d’un autre trait (trait de type), permettant de classer les objets (auteur, ville, langue) et ainsi interdire des énoncés tels que : Est-ce-que Marie parle Cannes ? Quelle ville lit Henry ? d) Compléter cet analyseur, par ajout d’un autre argument, permettant d’avoir une représentation sémantique (sous la forme d’un terme Prolog) des différentes interrogations : Est-ce-que Marie parle Anglais ? représentée par estceque( parle(marie,anglais)) Quelle ville habite Henry ? représentée par quel(x,habite(henry,x)) Qui parle Anglais ? représentée par quel(x,parle(x,anglais)) Quels auteurs lit Marie ? représentée par quel(x,lit(marie,x)) Est-ce-que Henry lit Hergé ? représentée par estceque( lit(henry,hergé)) Est-ce-que tous lisent Hergé ? représentée par estceque( tout(x,lit(x,hergé))) Est-ce-que quelqu’un lit Hergé ? représentée par estceque(un(x,lit(x,hergé)))