4. Оптимизация. Выполняется удаление излишних конструкций и упрощение кода с сохранением его смысла. Оптимизация может быть на разных уровнях и этапах – например, над промежуточным кодом или над конечным машинным кодом.
5. Генерация кода. Из промежуточного представления порождается код на целевом языке. В конкретных реализациях компиляторов эти этапы могут быть разделены или наоборот совмещены в том или ином виде.
Каждый из этих этапов имеет свою программу, работающую по определенному алгоритму – процессу.
Понятия процесс и функция тесно связаны с понятием поток. Он осуществляет процесс и выполняет функцию.
3.1.5. Поток
Поток может быть:
– вещественным (поток вещества);
– полевым (поток поля);
– информационным (поток информации).
К вещественным потокам относятся все виды транспортных систем, потоки сыпучих, жидких и газообразных веществ, в частности использующих, трубопроводы, например, пневматическая почта и т. д.
К полевым потокам можно отнести потоки электричества, например, проходящие по проводам, световые потоки, например, по оптоволоконным кабелям, магнитные потоки, различные излучения и т. д.
Информационные потоки могут распространяться различными путями: через печатные материалы, Интернет, радио и телевидение и т. д. Носителями информации является вещество и / или поле (энергия).
Кроме того, потоки могут быть внутренние и внешние.
Потоки осуществляют взаимодействия и выполняют работу.
Внутренниепотоки осуществляют воздействия одного элемента системы на другой или их взаимодействие по организованным связям между ними.
Внешние потоки осуществляют взаимодействие системы с надсистемой, окружающей средой и обратное влияние надсистемы и окружающей среды на систему.
Отсутствие учета таких влияний может не только отрицательно сказаться на работоспособности системы, но и вредно влиять на внешнюю среду.
Пример 3.20. Кондиционер
Кондиционер, с помощью вентилятора, создает поток воздуха (холодного или горячего). Это внешний поток вещества.
Поток фреона – это внутренний поток вещества.
Электричество, подводимое извне, к блоку питания кондиционера – это внешний поток энергии. Потоки энергии от блока питания – это внутренние поток энергии, подводимые к компрессору, вентилятору и блоку управления.
Сигналы, поступающие от датчиков и подающие на компрессор и двигатель вентилятора и другие блоки – это внутренние потоки информации. Инфракрасный сигнал от пульта управления – это внешний поток информации.
Пример 3.21. Компьютер
В компьютер поступает поток внешней информации. Компьютер обрабатывает эту информацию. Это внутренний информационный поток. Компьютер выдает результаты обработанной информации на внешние устройства, например, на монитор – это внешний информационный поток.
Оценку потоков можно проводить по:
– Полезности.
– Степени их выполнения.
Опишем оценку потока:
1. По полезности:
– полезный;
– бесполезный;
– вредный.
2. По степени выполнения полезности потока:
– достаточный;
– избыточный;
– недостаточный.
Полезный поток – поток, обеспечивающий работоспособность системы.
Бесполезный поток – поток, не создающий работоспособность системы. Иногда такие потоки называют лишними.
Вредный поток – поток, создающий нежелательный эффект.
Достаточный поток – поток, создающий необходимое (достаточное) действие.
Избыточный поток – поток, создающий избыточное действие.
Недостаточный поток – поток, создающий недостаточное действие.
Пример 3.22. Холодильник
Бесполезный поток для потребителя – поток тепла от испарителя (задней части холодильника).
Вредный поток холодильника – поток (акустический) шума компрессора.