ОБЧИСЛЕННЯ ВИРАЗІВ У ПРОГРАМУВАННІ
begin
lx.stl := par; lx.prt := tempc; tempc := getc
end
else
if tempc = finch then
getlx := false
else
begin
lx.stl := err; lx.wrlx := tempc; tempc := getc
end
end;
Функція isfn перевірки, чи представлено ім'я lx.name в масиві Namf, залишається для самостійної розробки.
9.4. Допоміжні підпрограми
Алгоритм процедури getbglx дуже простий: поки поточний символ не потрапив у множину Blex перших символів лексем, викликається функція getc для одержання нового поточного символу. Якщо при цьому вираз вичерпується, то наступним поточним вважається "фіктивний символ" finch.
function getbglx : char;
begin
while not ((tempc in Blex )or( tempc = finch ) ) do tempc := getc;
getbglx := tempc
end;
Функція getcon задає читання символів сталої з образу та побудову за ними відповідного значення типу real. Нехай синтаксис сталої задається метавиразом
function getcon : real;
var v, d : real;
begin