CMS ИСПОЛНИТЕЛЬ
CMS EXEC или EXEC — это интерпретируемый язык управления командными процедурами и компьютерными сценариями , используемый процессором CMS EXEC, поставляемым с операционной системой IBM Virtual Machine / Conversational Monitor System ( VM/CMS ).
EXEC был написан в 1966 году Стюартом Мэдником из Массачусетского технологического института по модели CTSS RUNCOM . Первоначально он назвал этот процессор COMMAND, а позже он был переименован в EXEC. [1]
CMS EXEC был заменен EXEC 2 и REXX . Все три — CMS EXEC, EXEC 2 и REXX — продолжают поддерживаться продуктом IBM CMS .
Язык EXEC
[ редактировать ]- EXEC обрабатывает строки длиной до 130 символов при вводе с терминала или до 72 символов при чтении из файла.
- Метка , состоящая из тире , за которым следуют до семи буквенно-цифровых символов, может служить префиксом команды CMS или оператора управления EXEC.
- Интерпретатор анализирует команды в токены , разделенные пробелами, длиной до восьми символов каждый.
- Переменные состоят из амперсанда, за которым следуют до семи буквенно-цифровых символов. Переменные могут быть либо определяемыми пользователем переменными, либо заранее определенными («специальными») переменными EXEC.
- При чтении каждой строки сканируются токены. Если они содержат переменные EXEC, переменные заменяются их значениями.
- Комментарии . Комментарии в файлах EXEC начинаются со звездочки в первом столбце. Все остальные операторы являются исполняемыми операторами .
- Нулевые утверждения . Нулевой оператор не содержит элементов данных.
- Команды CMS . Если первый элемент данных в строке не является звездочкой или амперсандом, процессор EXEC считает строку командой CMS и передает ее в CMS для немедленного выполнения.
- Заявления о назначении . Оператор присваивания присваивает значение переменной EXEC. Он имеет форму
&variable = <arithmetic-expression>
- Контрольные заявления . Оператор, в котором первый элемент данных является управляющим словом EXEC , а второй не является знаком равенства, считается управляющим оператором.
- Управляющие слова EXEC :
- &ARGS — позволяет пользователю переопределить аргументы команды.
- &BEGPUNCH — заголовок серии строк, которые будут перенаправлены на виртуальный ввод пользователя.
- &BEGSTACK — возглавляет серию строк, которые будут помещены в стек ввода консоли пользователя.
- &BEGTYPE — заголовок серии строк, которые необходимо ввести на терминале пользователя.
- &END — отмечает конец строк, обработанных &BEGPUNCH, &BEGSTACK или &BEGTYPE.
- &CONTINUE — сообщает интерпретатору обработать следующую строку файла.
- &CONTROL — управляет форматом отображения сообщений.
- &ERROR — сообщает интерпретатору, что делать, если обнаружена ошибка.
- &EXIT — выход из текущего EXEC-файла и, при необходимости, установка кода возврата.
- &GOTO — переход в другое место текущего EXEC-файла. Местоположение может быть TOP для начала файла, метки или номера строки.
- &IF допускает условное выполнение операторов.
- &LOOP — возглавляет группу операторов, которые будут выполняться несколько раз или до тех пор, пока указанное условие не станет истинным.
- &PUNCH — отправляет строку токенов на виртуальный панч пользователя. Каждый оператор &PUNCH генерирует одно изображение карты, дополненное или усеченное при необходимости.
- &READ — читает одну или несколько строк с пользовательского терминала .
- &SKIP — пропускает (игнорирует) указанное количество строк.
- &SPACE — вводит указанное количество пустых строк на терминале пользователя.
- &STACK — помещает одну строку в стек ввода пользователя. Строка строится из токенов, как и &PUNCH.
- &TIME — указывает, какая информация о времени должна быть введена на терминале пользователя после выполнения каждой команды CMS.
- &TYPE вводит строку на терминале пользователя. Строка строится из токенов, как и &PUNCH.
- Встроенные функции . Интерпретатор EXEC предоставляет несколько «встроенных» или предопределенных функций:
- &CONCAT объединяет строку токенов.
- &DATATYPE проверяет токен и определяет, является ли он числовым или буквенным.
- &LENGTH возвращает длину токена.
- &LITERAL предотвращает замену переменных внутри токена.
- &SUBSTR извлекает выбранные символы из токена.
Пример кода
[ редактировать ]PROFILE EXEC — это EXEC, который автоматически запускается при входе пользователя в систему для настройки своей среды. Простой PROFILE EXEC может выглядеть следующим образом:
* The following code issues CMS commands to set * the "blip" character to asterisk and request * the "short" format for system ready messages. &CONTROL OFF SET BLIP * SET RDYMSG SMSG
Сопутствующие языки управления процедурами команд CMS
[ редактировать ]- CMS ИСПОЛНИТЕЛЬ
- ИСПОЛНИТЕЛЬ 2
- РЕКСС
Ссылки
[ редактировать ]- ^ Вариан, Мелинда. «VM И СООБЩЕСТВО VM: прошлое, настоящее и будущее» (PDF) . Проверено 9 марта 2012 г.
Внешние ссылки
[ редактировать ]- «Процессор CMS EXEC». Руководство пользователя CMS (1-е изд.). Сентябрь 2004 г. Номер публикации IBM SC24-6079-00. Архивировано из оригинала 17 апреля 2014 года.
- «REX — командный язык программирования» . Поделиться 56 . 18 февраля 1981 г. Архивировано из оригинала 21 февраля 2009 г.
- IBM Virtual Machine Facility/370: Руководство пользователя EXEC (PDF) (2-е изд.). Апрель 1975 г. Номер публикации IBM GC20-1812-1. Архивировано из оригинала (PDF) 14 августа 2011 г. Проверено 14 марта 2012 г.