global words, lines, writer procedure main() &trace := -1 words := create word() lines := create reader() writer := create output() @writer end procedure word() static letters initial letters := &lcase ++ &ucase while line := @lines do line ? while tab(upto(letters)) do tab(many(letters)) @ writer end procedure reader() while read() @ words end procedure output() while write(&errout,@words) @&main end