which included commits to RCS files with non-trunk default branches. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@5 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
		
			
				
	
	
		
			27 lines
		
	
	
		
			524 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			524 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
| 
 | |
| 
 | |
| :- module( concat, [concat_name/2]).
 | |
| 
 | |
| concat_name( List, Name) :- List=[_|_],
 | |
| 	conc_parts( List, Chs, []),
 | |
| 	atom_codes( Name, Chs).
 | |
| concat_name( F/A, Name) :-
 | |
| 	conc_part( F/A, Chs, []),
 | |
| 	atom_codes( Name, Chs).
 | |
| 
 | |
| conc_parts( []) --> [].
 | |
| conc_parts( [P]) --> !, conc_part( P).
 | |
| conc_parts( [P|Ps]) -->
 | |
| 	conc_part( P),
 | |
| 	"_",
 | |
| 	conc_parts( Ps).
 | |
| 
 | |
| conc_part( F/A) --> !, name( F), "/", name( A).
 | |
| conc_part( X  ) -->    name( X).
 | |
| 
 | |
| name( A) --> {name(A,Chars)}, copy( Chars).
 | |
| 
 | |
| copy( []) --> [].
 | |
| copy( [C|Cs]) --> [ C ], copy( Cs).
 | |
| 
 |