run([H|T]) --> num(H),run(T).
run([T]) --> num(T).
num(increase) --> [increase],{write(1),nl}.
num(decrease) --> [decrease],{write(0),nl}.
Dans cet analyseur lorsque l'augmentation est donnée, elle imprime 1, quand elle diminue, elle imprime 0. Cependant, un problème survient lors du traitement du dernier élément de la liste. Par exemple run(A,[increase],[])
imprime deux 1. run(A,[increase,decrease],[])
imprime un 1 et deux 0, une chose que je ne veux pas. Comment puis-je le faire fonctionner correctement afin que run(A,[increase],[])
imprime 1 et run(A,[increase,decrease],[])
imprime 1,0?Analyse syntaxique dans prolog