Я получаю эту ошибку: ОШИБКА: demograph.grf: 9: 16: ошибка синтаксиса: Неожиданный конец файлаПролог ОШИБКА: demograph.grf: 9: 16: Ошибка синтаксиса: Неожиданный конец файла
file_to_list(FILE,LIST) :-
see(FILE),
inquire([],R), % gather terms from file
reverse(R,LIST),
seen.
inquire(IN,OUT):-
read(Data),
(Data == end_of_file -> % done
OUT = IN
; % more
inquire([Data|IN],OUT)) .
файл_ввода http://www.ist.tugraz.at/_attach/Publish/LP/demograph.grf
См. [Читать/1] (http://www.swi-prolog.org/pldoc/man?predicate=read/1). Prolog 'read/1' ожидает, чтобы прочитать * Prolog term * из файла. Файл '.grf', который вы читаете, не имеет полного термина Prolog, поэтому он доходит до конца файла перед его чтением. – lurker
Поскольку ваш входной файл не содержит терминов Prolog, вы должны использовать ['get/2'] (http://www.swi-prolog.org/pldoc/man?section=chario) для чтения char по char. –
'see',' seen', 'get' - все это полностью устаревшие встроенные модули в Prolog - и это более 20 лет. Используйте 'open/3',' close/1' и (если вам нужно) 'get_code' вместо этого. – false