0f714371e5
chunks of stack in a single go. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1684 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
64 lines
1.6 KiB
Prolog
64 lines
1.6 KiB
Prolog
/*************************************************************************
|
|
* *
|
|
* YAP Prolog *
|
|
* *
|
|
* Yap Prolog was developed at NCCUP - Universidade do Porto *
|
|
* *
|
|
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
|
|
* *
|
|
**************************************************************************
|
|
* *
|
|
* File: readutil.yap *
|
|
* Last rev: 5/12/99 *
|
|
* mods: *
|
|
* comments: SWI compatible read utilities *
|
|
* *
|
|
*************************************************************************/
|
|
|
|
:- module(readutil, [
|
|
read_line_to_codes/2,
|
|
read_line_to_codes/3,
|
|
read_stream_to_codes/2,
|
|
read_stream_to_codes/3,
|
|
read_file_to_codes/2,
|
|
read_file_to_codes/3,
|
|
read_file_to_terms/2,
|
|
read_file_to_terms/3
|
|
]).
|
|
|
|
|
|
read_stream_to_codes(Stream, Codes) :-
|
|
read_stream_to_codes(Stream, Codes, []).
|
|
|
|
read_file_to_codes(File, Codes, _) :-
|
|
open(File, read, Stream),
|
|
read_stream_to_codes(Stream, Codes, []),
|
|
close(Stream).
|
|
|
|
read_file_to_codes(File, Codes) :-
|
|
open(File, read, Stream),
|
|
read_stream_to_codes(Stream, Codes, []),
|
|
close(Stream).
|
|
|
|
read_file_to_terms(File, Codes, _) :-
|
|
open(File, read, Stream),
|
|
prolog_read_stream_to_terms(Stream, Codes, []),
|
|
close(Stream).
|
|
|
|
read_file_to_terms(File, Codes) :-
|
|
open(File, read, Stream),
|
|
read_stream_to_terms(Stream, Codes, []),
|
|
close(Stream).
|
|
|
|
|
|
prolog_read_stream_to_terms(Stream, Terms, Terms0) :-
|
|
read(Stream, Term),
|
|
(Term == end_of_file ->
|
|
Terms = Terms0
|
|
;
|
|
Terms = [Term|TermsI],
|
|
prolog_read_stream_to_terms(Stream, TermsI, Terms0)
|
|
).
|
|
|
|
|