%%% %%% Grammaire avec vérifications %%% p(L0,L) :- sn(L0,L1), sv(L1,L). sn(L0,L) :- det(Genre,L0,L1), n(Genre,L1,L). sv(L0,L) :- v(_,L0,L). sv(L0,L) :- v(transitif,L0,L1), sn(L1,L). det(masculin,L0,L) :- terminal(le,L0,L). det(feminin,L0,L) :- terminal(la,L0,L). n(feminin,L0,L) :- terminal(souris,L0,L). n(masculin,L0,L) :- terminal(chat,L0,L). v(transitif,L0,L) :- terminal(mange,L0,L). v(intransitif,L0,L) :- terminal(trottine,L0,L). terminal(Mot,[Mot|L],L).