26 lines
		
	
	
	
		
			308 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			308 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| def N=10:
 | |
| 
 | |
| proc copy(chan in, out)=
 | |
| 	var char:
 | |
| 	seq
 | |
| 		char:='x'
 | |
| 		while char<>EOF
 | |
| 			seq
 | |
| 				in ? char
 | |
| 				out ! char
 | |
| :
 | |
| 
 | |
| chan junk[N]:
 | |
| par
 | |
| 	copy(input, junk[0])
 | |
| 
 | |
| 	par i=[0 FOR N-1]
 | |
| 		copy(junk[i], junk[i+1])
 | |
| 
 | |
| 	var char:
 | |
| 	seq
 | |
| 		junk[N-1] ? char
 | |
| 		while char<>EOF
 | |
| 			seq
 | |
| 				output ! char
 | |
| 				junk[N-1] ? char
 |