procedure words() wchar := &lcase ++ &ucase ++ '\'-' wordlist := [] while line := read() do { i := 1 while j := upto(wchar,line,i) do { i := many(wchar,line,j) put(wordlist,line[i:j]) # add to list } } return wordlist end