Применяя описанный механизм, определим две сопрограммы ВВОД и ВЫВОД, которые обмениваются между собой через однобайтный буфер ТЕК-СИМ, и слово ЗАДАЧА, которое выполняет требуемую перепись данных:
QUAN ТЕК-СИМ ( ОЧЕРЕДНОЙ ОБМЕНИВАЕМЫЙ СИМВОЛ) CREATE ВХОД-БУФ 80 ALLOT ( БУФЕР ВВОДА) CREATE ВЫХ-БУФ 64 ALLOT ( БУФЕР ВЫВОДА) СОПРОГРАММА ВВОД ОТКРЫТЬ-ВВОД BEGIN ВХОД-БУФ ЧИТАТЬ WHILE ВХОД-БУФ 80 + ВХОД-БУФ DO I С@ TO ТЕК-СИМ RESUME LOOP REPEAT ЗАКРЫТЬ-ВВОД ЗАКРЫТЬ-ВЫВОД ; СОПРОГРАММА ВЫВОД ОТКРЫТЬ-ВЫВОД BEGIN ВЫХ-БУФ 64 + ВЫХ-БУФ DO ТЕК-СИМ I С! RESUME LOOP ВЫХ-БУФ ПИСАТЬ AGAIN ; : ЗАДАЧА START ВВОД START ВЫВОД BEGIN ВВОД ВЫВОД AGAIN ;
Два ряда слов ОТКРЫТЬ-ВВОД, ЧИТАТЬ, ЗАКРЫТЬ-ВВОД и ОТКРЫТЬ-ВЫВОД, ПИСАТЬ, ЗАКРЫТЬ-ВЫВОД обеспечивают взаимодействие с входным и выходным файлами. Слова ЧИТАТЬ и ПИСАТЬ требуют в качестве параметра адрес буфера (ВХОД-БУФ для ввода и ВЫХ-БУФ для вывода), а слово ЧИТАТЬ, кроме того, возвращает логический результат — признак успешного завершения чтения.
В заключение рассмотрим направления, в которых можно развить данную реализацию.
Возможны, конечно, и любые другие изменения, диктуемые конкретной обстановкой.