def process_iter(exp)
iter = process exp.shift
args = exp.shift
args = (args == 0) ? '' : process(args)
body = exp.empty? ? nil : process(exp.shift)
b, e = if iter == "END" then
[ "{", "}" ]
else
[ "do", "end" ]
end
iter.sub!(/\(\)$/, '')
result = []
result << "#{iter} {"
result << " |#{args}|" if args
if body then
result << " #{body.strip} "
else
result << ' '
end
result << "}"
result = result.join
return result if result !~ /\n/ and result.size < LINE_LENGTH
result = []
result << "#{iter} #{b}"
result << " |#{args}|" if args
result << "\n"
if body then
result << indent(body.strip)
result << "\n"
end
result << e
result.join
end