Перевод в ПОЛИЗ выражений Общепринятая запись: a*(b+c)-(d-e)/f ПОЛИЗ : abc+*de-f/- Перевод в ПОЛИЗ операторов Оператор присваивания I:=E ПОЛИЗ: IE:= Пример. Оператор x:=x+9 ПОЛИЗ: x x 9 + :=
ПОЛИЗ: B p1 !F S1 p2 ! S2 … Условный оператор if B then S1 else S2 B p !Fp!p! p1 p2 Пример. Дан оператор if x>0 then x:=x+8 else x:=x-3 ПОЛИЗ оператора Лекс. Номер x1x >3> !F5!F5 x7x7 x6x := 10 !12!12 x13x13 x14x := 17 …18…
Оператор цикла while B do S ПОЛИЗ: B p1 !F S p0 ! … p0 p1 Оператор ввода read(I) ПОЛИЗ: I R Оператор вывода write(E) ПОЛИЗ: E W Составной оператор begin S1; S2;...; Sn end ПОЛИЗ: S1 S2... Sn
Дан оператор while n>3 do begin write(n*n-1); n:=n-1 end Пример 19 4 !F5!F5 n6n6 n7n *8* W 11 n 12 n := ! Лекс. n1n >3>3 ПОЛИЗ оператора
Интерпретация ПОЛИЗа Выражение (4+2)/3+2*(4+6) ПОЛИЗ: 42+3/246+*+ Состояния стека при интерпретации выражения: