run([H|T]) --> num(H),run(T).
run([T]) --> num(T).
num(increase) --> [increase],{write(1),nl}.
num(decrease) --> [decrease],{write(0),nl}.
В этом синтаксическом анализаторе, когда задано увеличение, он печатает 1, а при уменьшении, когда он печатает 0. Однако при обработке последнего элемента списка возникает проблема.Например, run(A,[increase],[])
печатает два 1.run(A,[increase,decrease],[])
печатает один 1 и два 0, вещь, которую я не хочу.Как сделать так, чтобы run(A,[increase],[])
печатал 1 и run(A,[increase,decrease],[])
печатал 1,0?