# # W O R D T A B U L A T I O N # # This main procedure processes standard input and writes the results # with the words in a column 20 characters wide. procedure main() wordcount(20) end procedure wordcount(n) local t, line, x, y static letters initial letters := &lcase ++ &ucase t := table(,0) every line := !&input do scan line using while tab(upto(letters)) do t[tab(many(letters))] +:= 1 x := sort(t) every y := !x do write(left(y[1],n),y[2]) end