32 lines
		
	
	
	
		
			449 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			449 B
		
	
	
	
		
			Text
		
	
	
	
	
	
def otherwise=true:
 | 
						|
 | 
						|
def NLET= ('z'-'a')+1:
 | 
						|
 | 
						|
proc xxtoy(chan in, out, value x, y)=
 | 
						|
    var c:
 | 
						|
    seq
 | 
						|
	c:= not EOF
 | 
						|
	while c<>EOF
 | 
						|
	    seq
 | 
						|
		in ? c
 | 
						|
		if
 | 
						|
		    c=x
 | 
						|
			seq
 | 
						|
			    in ? c
 | 
						|
			    if
 | 
						|
				c=x
 | 
						|
				    out ! y
 | 
						|
				otherwise
 | 
						|
				    out ! x; c
 | 
						|
		    otherwise
 | 
						|
			out ! c
 | 
						|
:
 | 
						|
chan link[NLET-1]:
 | 
						|
 | 
						|
par
 | 
						|
    xxtoy(input, link[0], 'a', 'b')
 | 
						|
 | 
						|
    par i=[0 for NLET-2]
 | 
						|
	xxtoy(link[i], link[i+1], i+'b', i+'c')
 | 
						|
 | 
						|
    xxtoy(link[NLET-2], output, 'y', 'z')
 |