|
|
1.1 root 1: #
2: # W O R D I N T E R S E C T I O N S
3: #
4:
5: # This program procedure accepts string pairs from standard input, with
6: # the strings separated by semicolons. It then diagrams all the
7: # intersections of the two strings in a common character.
8:
9: procedure main()
10: local line, j
11: while line := read() do {
12: write()
13: j := upto(':',line)
14: cross(line[1:j],line[j+1:0])
15: }
16: end
17:
18: procedure cross(s1,s2)
19: local j, k
20: every j := upto(s2,s1) do
21: every k := upto(s1[j],s2) do
22: xprint(s1,s2,j,k)
23: end
24:
25: procedure xprint(s1,s2,j,k)
26: write()
27: every write(right(s2[1 to k-1],j))
28: write(s1)
29: every write(right(s2[k+1 to *s2],j))
30: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.