copy.ocm 308 B

1234567891011121314151617181920212223242526
  1. def N=10:
  2. proc copy(chan in, out)=
  3. var char:
  4. seq
  5. char:='x'
  6. while char<>EOF
  7. seq
  8. in ? char
  9. out ! char
  10. :
  11. chan junk[N]:
  12. par
  13. copy(input, junk[0])
  14. par i=[0 FOR N-1]
  15. copy(junk[i], junk[i+1])
  16. var char:
  17. seq
  18. junk[N-1] ? char
  19. while char<>EOF
  20. seq
  21. output ! char
  22. junk[N-1] ? char