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

Обчислення иразів у програмуванні
Тип документу: Реферат
Сторінок: 18
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 32.5
Скачувань: 932
„@

^„@

„@

^„@

r lx : Tlx) : boolean;

з її виклику повертається ознака наявності чергової лексеми та сама лексема за допомогою параметра-змінної.

Розроблювана функція ipllx матиме одну особливість. Після того, як вираз прочитано, в магазині ще можуть залишитися знаки операцій; за алгоритмом вони записуються у вихідну послідовність. У цій функції весь вхідний вираз штучно "береться в дужки". Перед його читанням у магазин записується відкриваюча дужка, що відмічає його дно. В кінці магазин лексем обробляється так, ніби на вході з'явилася закриваюча дужка, тобто всі знаки до відкриваючої дужки виштовхуються та копіюються у вихідну послідовність.

function ipllx ( var Llx : Sqlx ) : boolean;

var Slx : Stlx; lx, lx1 : Tlx;

lt : Ttlx; ok : boolean;

begin

initl( Llx ); inits( Slx );

ok := true;

lx.stl := par; lx.prt := '(';

push( Slx, lx);

while (getlx( lx ) and ok) do

case lx.stl of

con : put(Llx, lx);

par : case lx.prt of

'(' : push( Slx, lx);

')' : while pop(Slx, lx1) <> par do

put( Llx, lx1);

end;

ops : begin

lt := gett( Slx, lx1);

while ( lt = nam ) or

( ( lt = ops ) and (prior(lx1.sig) >= prior(lx.sig) ) do

begin

lt := pop( Slx, lx1);

put( Llx, lx1);

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