35 lines
734 B
Text
35 lines
734 B
Text
$ include "seed7_05.s7i";
|
|
include "chartype.s7i";
|
|
|
|
const func char: doChar (in boolean: doReverse) is func
|
|
result
|
|
var char: delimiter is ' ';
|
|
local
|
|
var char: ch is ' ';
|
|
begin
|
|
ch := getc(IN);
|
|
if ch in letter_char then
|
|
if doReverse then
|
|
delimiter := doChar(doReverse);
|
|
write(ch);
|
|
else
|
|
write(ch);
|
|
delimiter := doChar(doReverse);
|
|
end if;
|
|
else
|
|
delimiter := ch;
|
|
end if;
|
|
end func;
|
|
|
|
const proc: main is func
|
|
local
|
|
var char: delimiter is ' ';
|
|
var boolean: doReverse is FALSE;
|
|
begin
|
|
repeat
|
|
delimiter := doChar(doReverse);
|
|
write(delimiter);
|
|
doReverse := not doReverse;
|
|
until delimiter = '.';
|
|
writeln;
|
|
end func;
|