Введение

Work Flow Language, или WFL ("wiffle") - это язык управления процессами для больших систем Burroughs, включая серию Unisys ClearPath/MCP и их операционную систему Master Control Program. Разработанный вскоре после B5000 в 1961 году, WFL является эквивалентом ClearPath языка управления заданиями (JCL) на IBM-совместимых мэйнфреймах и скриптов оболочки Unix-подобных операционных систем. В отличие от JCL, WFL – это структурированный язык высокого уровня, включающий подпрограммы (процедуры и функции) с аргументами и операторами управления потоком выполнения высокого уровня. Программы на WFL компилируются в исполняемые двоичные файлы, как и любые другие объекты MCP. WFL используется для системных операций высокого уровня, таких как запуск задач, перемещение и копирование файлов, а также обеспечение высокого уровня восстановления данных. Таким образом, это не язык общего назначения, и его не следует использовать для общих вычислений. Можно открывать и закрывать файлы для проверки их атрибутов, но чтение или изменение их содержимого в WFL невозможно – это делается в языке общего назначения, который затем вызывается как задача из WFL. WFL имеет удобочитаемый синтаксис, напоминающий ALGOL. В нем отсутствуют низкоуровневые команды, подобные командам JCL, такие как //SYSIN DD и т.п., необходимые для подключения аппаратных устройств и открытия файлов для программ. Все конструкции WFL оперируют высокоуровневыми абстракциями задач и файлов. Параметры также являются параметрами языка высокого уровня, а не позиционными параметрами в стиле $1, $2, используемыми в скриптах оболочки. WFL также имеет команду блока инструкций, которая используется для предоставления операторам инструкций, необходимых для выполнения текущего задания. Эти инструкции отображаются с помощью операторской команды 'IB'. На системах среднего уровня WFL был компилируемым языком. Поскольку некоторые интерфейсы операционной системы могли меняться от релиза к релизу, код WFL для систем среднего уровня включал копию исходного кода в объектном файле. При запуске задания WFL выполнялась проверка совместимости объекта с версией операционной системы. В случае несовместимости происходила повторная компиляция объекта с использованием исходного кода, встроенного в объектный файл.