%%% %%% Grammaire en Prolog %%% p --> sn, sv. sn --> det, n. sv --> v. sv --> v, sn. det --> [le]. det --> [la]. n --> [souris]. n --> [chat]. v --> [mange]. v --> [trottine]. /*--------- test de cette grammaire | ?- p([le,chat,mange,la,souris],[]). yes | ?- p([le,chat,mange],[]). yes | ?- p([la,chat,mange,le,souris],[]). yes | ?- p([le,chat,trottine,la,souris],[]). yes | ?- p([le|X],[]),write([le|X]),nl,fail. [le,souris,mange] [le,souris,trottine] [le,souris,mange,le,souris] [le,souris,mange,le,chat] [le,souris,mange,la,souris] [le,souris,mange,la,chat] [le,souris,trottine,le,souris] [le,souris,trottine,le,chat] [le,souris,trottine,la,souris] [le,souris,trottine,la,chat] [le,chat,mange] [le,chat,trottine] [le,chat,mange,le,souris] [le,chat,mange,le,chat] [le,chat,mange,la,souris] [le,chat,mange,la,chat] [le,chat,trottine,le,souris] [le,chat,trottine,le,chat] [le,chat,trottine,la,souris] [le,chat,trottine,la,chat] no ------------------- fin des tests */