Всего новичков в Прологе.Это меня немного расстраивает.Мое «решение» ниже заключается в том, что я пытаюсь сделать Пролог процедурным ...
Это удалит пробелы или вставит пробел после запятой, если это необходимо, то есть до тех пор, пока не встретится точка:
ЦЕЛЬ: Мне интересно, как убрать все пробелы перед запятой.
Следующее работает, но это так неправильно на многих уровнях, особенно «выход»!
squish:-
get0(C),
get0(D),
iteratesquish(C,D).
iteratesquish(C,D):-
squishing(C,D),
get0(E),
iteratesquish(D,E).
squishing(46,X):-put(46),write('end.'),!,exit.
squishing(32,32):-!.
squishing(32,44):-!.
squishing(32,X):-put(32),!.
squishing(44,32):-put(44),!.
squishing(44,44):-put(44), put(32),!.
squishing(44,46):-put(44), put(32),!.
squishing(44,X):-put(44), put(32),!.
squishing(X,32):-put(X),!.
squishing(X,44):-put(X),!.
squishing(X,46):-put(X),!.
squishing(X,Y):-put(X),!.