Читання лексем виразу, Детальна інформація

Читання лексем виразу
Тип документу: Реферат
Сторінок: 7
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 14.1
Скачувань: 1146
Нехай змінна v зберігає результат обробки попередніх цифр, d – від'ємні степені числа 10 (спочатку v=0, d=1). Нехай num() позначає вираз ord()-ord('0'). Подамо обробку поточного символу tempc й змінювання значень cp таблицею 20.2. Відсутність присвоювань змінній cp у деяких клітинах табл. 20.2 означає, що її значення не змінюється.

За наведеною таблицею функція getcon записується з уживанням оператора case майже механічно:

function getcon : real;

type Tcp = ( ip, fp, out );

var v, d : real; cp : Tcp;

begin

v := 0; d := 1; cp := ip;

while cp <> out do

case cp of

ip : case tempc of

'0'..'9' : begin

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

tempc := getc

end;

'.' : begin

cp := fp; tempc := getc

end

else cp := out

end;

fp : case tempc of

'0'..'9' : begin

d := d/10;

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

tempc := getc

end

else cp := out

end

end; { оператора case cp of та циклу while}

getcon := v

end

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