ВУЗ:
Составители:
104
Функции F1 и F2 производят промежуточные вычисления, а ячейки T1
и T2 предназначены для хранения результатов этих действий. Во время
фактического построения программы генератор кода сможет правильно
представить в объектном коде операцию F1 (за которой должны следовать
операции F2 и F).
Рассмотрим еще пример, связанный с использованием промежуточных
ячеек. Пусть дано
предложение
X := X+Y*Z,
которое представлено постфиксной записью
Sx Sx Sy Sz*+ :=
В это предложение входят операции умножения Y на Z, сложения
результата с X и присвоения переменной X значения полученной суммы. Во
время генерирования четверки, осуществляющей умножение, потребуется
ячейка, в которой будет храниться промежуточный результат этого действия.
Будем предполагать, что в этом случае создается
временная, или внутренняя
переменная. Таким образом, рассматриваемое предложение будет
представлено последовательностью
(MULT_OP,Sy,Sz,T1)
(ADD_OP,Sx,T1,Sx),
в которой первая четверка указывает на то, что надо умножить Y на Z и
записать результат в T1, а вторая четверка определяет необходимость
сложения переменной X с переменной T1, содержащей результат операции
Y*Z, и записи суммы
в X.
Контрольные вопросы
1. Из каких частей состоит "четверка" во внутренней форме представления
генерируемого кода?
2. В чем состоит преимущество применения четверок при генерации кода?
104 Функции F1 и F2 производят промежуточные вычисления, а ячейки T1 и T2 предназначены для хранения результатов этих действий. Во время фактического построения программы генератор кода сможет правильно представить в объектном коде операцию F1 (за которой должны следовать операции F2 и F). Рассмотрим еще пример, связанный с использованием промежуточных ячеек. Пусть дано предложение X := X+Y*Z, которое представлено постфиксной записью Sx Sx Sy Sz*+ := В это предложение входят операции умножения Y на Z, сложения результата с X и присвоения переменной X значения полученной суммы. Во время генерирования четверки, осуществляющей умножение, потребуется ячейка, в которой будет храниться промежуточный результат этого действия. Будем предполагать, что в этом случае создается временная, или внутренняя переменная. Таким образом, рассматриваемое предложение будет представлено последовательностью (MULT_OP,Sy,Sz,T1) (ADD_OP,Sx,T1,Sx), в которой первая четверка указывает на то, что надо умножить Y на Z и записать результат в T1, а вторая четверка определяет необходимость сложения переменной X с переменной T1, содержащей результат операции Y*Z, и записи суммы в X. Контрольные вопросы 1. Из каких частей состоит "четверка" во внутренней форме представления генерируемого кода? 2. В чем состоит преимущество применения четверок при генерации кода?
Страницы
- « первая
- ‹ предыдущая
- …
- 102
- 103
- 104
- 105
- 106
- …
- следующая ›
- последняя »