file exists system predicate $source_file -> $user source hide and make system preds fix check_head_and_body user_expansion never fails goal expansion is controlled b dynamic procedure add must_be_of_type predicate_indicator fix neat_call, debug flag is user controlled use simplecudd, not ptoblogbdd compile all of myddas fx junk in file_name fix warnings use common file opening struct and funds avoid pairs module fix db queues
		
			
				
	
	
		
			33 lines
		
	
	
		
			616 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			616 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
| #!/usr/local/bin/yap
 | |
| #.
 | |
| #
 | |
| #
 | |
| 
 | |
| :- use_module(library(system)).
 | |
| 
 | |
| main :-
 | |
|       source_dir( Dir ),
 | |
|       directory_files(Dir/input/parse,[_,_|Files]),
 | |
|       member( File, Files ),
 | |
|       atom_concat(test_, Number, File),
 | |
|       run( File ),
 | |
|       match( File ),
 | |
|       fail.
 | |
| main.
 | |
| 
 | |
| run(File) :-
 | |
| 	open( Dir/in/File, read, Stream ),
 | |
| 	tmp_dir( Tmp ),
 | |
| 	open( Tmp/File, Write, Output ),
 | |
| 	parse( Stream, Output ).
 | |
| 
 | |
| parse( Stream, Output ) :-
 | |
| 	catch( take(Stream, Term ), ERR, TERM = err__(ERR) ),
 | |
| 	show( Stream, Output, Term ).
 | |
| 
 | |
| take( Stream, Term ) :-
 | |
| 	repeat,
 | |
| 	read_term( Stream, Term ),
 | |
| 	( Term == end_of_file -> ! ; true ).
 | |
| 
 |