Читання лексем виразу
function newln : char; … end;
function getc; … end;
Begin
bufinit
End.
Наведемо, нарешті, функції getc і newln.
function getc : char;
begin
bufp := bufp + 1;
if bufp <= bufl then tempc := buf[bufp]
else { рядок вичерпано } tempc := newln;
getc := tempc
end;
При виконанні функції newln у разі наявності наступного рядка повертається пропуск. Він штучно додається перед першим символом рядка, аби той не продовжував лексему в попередньому рядку. У разі кінця файла повертається finch – ознака закінчення виразу:
function newln : char;
begin
if eof(f) then tempc := finch
else
begin
readln (f, buf );
bufp := 0; bufl := length ( buf );
tempc := ' '
end;
newln := tempc
end