Обчислення иразів у програмуванні, Детальна інформація

Обчислення иразів у програмуванні
Тип документу: Реферат
Сторінок: 18
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 32.5
Скачувань: 934
lx.stl := ops; lx.sig := tempc; tempc := getc

end

else

if tempc in Bpar then

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. Нехай синтаксис сталої задається метавиразом { } [ '.' { } ]. Розглянемо побудову значення типу real за сталою. Цифри до крапки задають цілу частину числа. Значення чергової цифри додається до результату обробки попередніх цифр, помноженого на 10. Перед обробкою першої цифри результатом є 0. Крапка пропускається, а значення цифр праворуч від неї множаться на відповідні від'ємні степені числа 10 і додаються до числа:

function getcon : real;

var v, d : real;

begin

v := 0; d := 1;

repeat

v := v*10 + ord(tempc) - ord('0'); tempc := getc;

The online video editor trusted by teams to make professional video in minutes