%%% %%% Grammaire en Prolog %%% p(L0,L) :- sn(L0,L1), sv(L1,L). sn(L0,L) :- det(L0,L1), n(L1,L). sv(L0,L) :- v(L0,L). sv(L0,L) :- v(L0,L1), sn(L1,L). det(L0,L) :- terminal(le,L0,L). det(L0,L) :- terminal(la,L0,L). n(L0,L) :- terminal(souris,L0,L). n(L0,L) :- terminal(chat,L0,L). v(L0,L) :- terminal(mange,L0,L). v(L0,L) :- terminal(trottine,L0,L). terminal(Mot,[Mot|L],L).