31 lines
606 B
Plaintext
31 lines
606 B
Plaintext
global width
|
|
|
|
procedure main(args)
|
|
lines := []
|
|
width := 0
|
|
format := left
|
|
match("left"|"right"|"center", format <- !args)
|
|
every put(lines,prepare(!&input))
|
|
display(lines, proc(format,3))
|
|
end
|
|
|
|
procedure prepare(lines)
|
|
line := []
|
|
lines ? {
|
|
while (not pos(0)) & (field := tab(upto('$')|0)) do {
|
|
put(line, field)
|
|
width <:= *field
|
|
move(1)
|
|
}
|
|
}
|
|
return line
|
|
end
|
|
|
|
procedure display(lines, format)
|
|
width +:= 1
|
|
every line := !lines do {
|
|
every writes(format(!line, width))
|
|
write()
|
|
}
|
|
end
|