Обробка текстів
function getlex(var f : text; var lex : string) : boolean;
var ch : char; isl : boolean;
begin
ch:=' '; lex:=''; getlex:=false;
while not eof(f) and not isletter(ch) do
read(f, ch);
{eof(f) or isletter(ch)}
if isletter(ch) then
begin {створення рядка-лексеми}
getlex:=true; lex:=lex+ch; isl:=true;
while not eof(f) and isl do
begin
read(f,ch);
if isletter(ch) then lex:=lex+ch
else isl:=false
end;
{eof(f) or not isl}
end;
end;
Тіло складеного оператора, що задає створення рядка-лексеми й виконується після того, як умова isletter(ch) стає істинною, можна записати за допомогою оператора repeat-until:
getlex:=true; isl:=true;
repeat
lex:=lex+ch;
if not eof(f) then
begin