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)
 | 
						|
	).
 | 
						|
 | 
						|
 |