ВУЗ:
Составители:
Рубрика:
арифметическое выражение, требующее дальнейшей обработки и конкретные метки
переходов.
1
X > 0 10
0
1 "семантика"
X = 0 15 оператора IF.
0
1
X < 0 20
0
Тут как раз хороший повод вернуться к вопросу трансляции арифметических выражений.
Часто для них (и не только) выполняют преобразование в польскую инверсную запись
(ПОЛИЗ), что упрощает последующее выполнение-вычислеие.
Вообще есть три способа записи операций:
1. Инфиксный: a*b (например, а + b).
2. Префиксный: *ab (например, (a,b)).
3.Постфиксный: ab* (например, а и b - просуммировать)
О третьем, постфиксном, способе и идет речь. Его еще называют
польской инверсной записью; в память о польском математике Яне Лукашевиче.
Преобразование выражений в ПОЛИЗ с легкой руки Э.Дейкстры (первой величины в
области теоретического программирования) стали часто изображать в виде
"железнодорожного разъезда".
выход вход магазина (стека)
0
n верхушка магазина
Алгоритм преобразования арифметических выражений в ПОЛИЗ.
1. Поступающие на вход операнды сразу проходят на выход.
2. Поступающие на вход операторы сравниваются по приоритету. Если приоритет оператора
на входе магазина больше, чем в верхушке магазина, то оператор со входа поступает в
магазин (first in/last out). Если приоритет оператора на входе меньше или равен
приоритету оператора в верхушке магазина, то оператор из верхушки магазина идет на
— 93 —
X:= A- B
обработка ошибки
арифметическое выражение, требующее дальнейшей обработки и конкретные метки
переходов.
X:= A- B
1
X>0 10
0
1 "семантика"
X=0 15 оператора IF.
0
1
X<0 20
0
обработка ошибки
Тут как раз хороший повод вернуться к вопросу трансляции арифметических выражений.
Часто для них (и не только) выполняют преобразование в польскую инверсную запись
(ПОЛИЗ), что упрощает последующее выполнение-вычислеие.
Вообще есть три способа записи операций:
1. Инфиксный: a*b (например, а + b).
2. Префиксный: *ab (например, (a,b)).
3.Постфиксный: ab* (например, а и b - просуммировать)
О третьем, постфиксном, способе и идет речь. Его еще называют
польской инверсной записью; в память о польском математике Яне Лукашевиче.
Преобразование выражений в ПОЛИЗ с легкой руки Э.Дейкстры (первой величины в
области теоретического программирования) стали часто изображать в виде
"железнодорожного разъезда".
выход вход магазина (стека)
0
n верхушка магазина
Алгоритм преобразования арифметических выражений в ПОЛИЗ.
1. Поступающие на вход операнды сразу проходят на выход.
2. Поступающие на вход операторы сравниваются по приоритету. Если приоритет оператора
на входе магазина больше, чем в верхушке магазина, то оператор со входа поступает в
магазин (first in/last out). Если приоритет оператора на входе меньше или равен
приоритету оператора в верхушке магазина, то оператор из верхушки магазина идет на
— 93 —
Страницы
- « первая
- ‹ предыдущая
- …
- 91
- 92
- 93
- 94
- 95
- …
- следующая ›
- последняя »
