Деки в вычислительных системах

Задачи, требующие структуры дека, встречаются в вычислитель-

ной технике и программировании гораздо реже, чем задачи, реализу-

емые на структуре стека или очереди. Как правило, вся организация

дека выполняется программистом без каких-либо специальных средств

системной поддержки.

Однако, в качестве примера такой системной поддержки расс-

мотрим организацию буфера ввода в языке REXX. В обычном режиме

буфер ввода связан с клавиатурой и работает как FIFO-очередь. Од-

нако, в REXX имеется возможность назначить в качестве буфера вво-

да программный буфер и направить в него вывод программ и систем-

ных утилит. В распоряжении программиста имеются операции QUEUE -

запись строки в конец буфера и PULL - выборка строки из начала

буфера. Дополнительная операция PUSH - запись строки в начало бу-

фера - превращает буфер в дек с ограниченным выходом. Такая

структура буфера ввода позволяет программировать на REXX весьма

гибкую конвейерную обработку с направлением выхода одной програм-

мы на вход другой и модификацией перенаправляемого потока.