2011-12-18 15:04:21 +01:00

43 lines
687 B
Plaintext

let
type Line ~ record
content: array 80 of Char,
length: Integer
end;
! reads a line from the standard input
proc readLine(var line: Line) ~
let
var ch: Char
in begin
line.length := 0;
get(var ch);
while \ eol() /\ \ eof() do begin
line.content[line.length] := ch;
line.length := line.length + 1;
get(var ch);
end;
end;
! writes the reversed line to the standard output
proc putReversedLine(line: Line) ~
let
var i: Integer
in begin
i := line.length;
while i > 0 do begin
i := i-1;
put(line.content[i])
end;
puteol();
end;
var line: Line
in begin
while \ eof () do begin
readLine(var line);
putReversedLine(line);
end;
end