ОРВИЛ и УИЛБЕР
Разработчик | Стэнфордский университет |
---|---|
Написано в | 360/370 Язык ассемблера |
Рабочее состояние | Снято с производства |
Исходная модель | Первоначально с открытым исходным кодом ; более поздние проприетарные версии имели лицензионный исходный код |
Первоначальный выпуск | 1967, 1968 |
Доступно в | Английский |
Платформы | IBM S/360, S/370 и его преемники |
Лицензия | Первоначально общественное достояние; более поздние проприетарные версии имели отдельные лицензии |
Официальный сайт | сеть |
История операционных систем для мэйнфреймов IBM |
---|
ORVYL — это монитор с разделением времени, разработанный Стэнфордским университетом для компьютеров IBM System/360 и System/370 в 1967–68 годах. [1] ORVYL была одной из первых систем разделения времени , доступных для компьютеров IBM. Wylbur — это текстовый редактор и программа текстового процессора, предназначенная для работы либо без ORVYL, либо в сочетании с ORVYL. [2] [3]
Обзор [ править ]
Имена ORVYL и WYLBUR часто используются как синонимы, но:
- ORVYL — это монитор с разделением времени, который поддерживает файловую систему, язык команд, выполнение и отладку программ, а также предоставляет услуги супервизора. [1] Первая версия работает только на 360/67 , но более поздние версии работают на System/370 .
- WYLBUR — текстовый редактор и текстовый процессор. [а] программа отправки и получения заданий, а также программа электронной почты, предназначенная для работы в сочетании с ORVYL или с операционными системами IBM OS/360 , SVS и MVS . [2]
- MILTEN — это программное обеспечение для управления терминалами, используемое компаниями ORVYL и WYLBUR для пуска/останова . терминалов [1]
WYLBUR не является полностью автономной операционной системой по типу Dartmouth Time Sharing System (DTSS) или Unix . Вместо этого он работает поверх пакетной операционной системы IBM (OS/360, SVS, MVS). Он принимает форму редактора с системой удаленного ввода заданий и, таким образом, имеет такое же отношение к операционным системам IBM, как Emacs к Unix. По этим причинам WYLBUR часто воспринимается как текстовый редактор, а не как система разделения времени. Однако, хотя Unix не нуждается в Emacs для предоставления услуг по редактированию текста, операционным системам IBM изначально требовался WYLBUR. Более поздние инновации, такие как система административного терминала IBM (ATS), диалоговый удаленный пакетный ввод (CRBE), диалоговый удаленный ввод заданий (CRJE) и опция разделения времени (TSO), сделали WYLBUR менее актуальным для пользователей IBM и постепенно заменили его.
В этой статье для команд и ключевых слов будет использоваться полное написание заглавных букв. Все ссылки на символы и строки предполагают кодовую страницу EBCDIC .
Используйте [ править ]
ORVYL и WYLBUR использовались в Стэнфордском центре линейных ускорителей (SLAC) , Европейской организации ядерных исследований (CERN) , Национальных институтах здравоохранения США (NIH) и во многих других местах. Выведенные из эксплуатации большинства сайтов в конце 1990-х годов из-за опасений по поводу проблем 2000 года , они оставались в использовании в НИЗ до декабря 2009 года. [4] ORVYL и WYLBUR по-прежнему доступны в Стэнфорде с открытым исходным кодом. [5] Существуют также проприетарные версии, такие как SuperWYlbur.
ОРВИЛ и УИЛБУР вызвали большое восхищение, о чем свидетельствует отрывок из статьи 2004 года под названием «Вычисления в ЦЕРНе: эра мэйнфреймов»:
- [В 1976 году IBM S/370-168] также принес с собой операционную систему MVS (Multiple Virtual Storage) с ее педантическим языком управления заданиями, и это дало CERN возможность представить WYLBUR, всеми любимый, умно спроектированный и дружественная система разделения времени, разработанная в SLAC, вместе с прекрасно написанным от руки и иллюстрированным руководством Джона Эрмана. WYLBUR был шедевром дизайна, способным творить чудеса при небольшой мощности (в то время), разделяемой многими одновременными пользователями. Он завоевал друзей своим любезным характером и положил начало вытеснению перфокарточного оборудования, когда в лаборатории появились компьютерные терминалы. [6]
Преимущества и недостатки [ править ]
ORVYL и WYLBUR впервые стали доступны в 1967–68 годах, до TSS/360 , TSO или любого другого официального решения IBM для разделения времени. Примерно в то же время стали доступны сторонние системы разделения времени, такие как MTS незаметная разработка CP-67 , и в Кембриджском научном центре IBM началась . У WYLBUR было дополнительное преимущество: его можно было использовать вместе с основной операционной системой IBM OS/360 .
WYLBUR — это система с одним адресным пространством, в отличие от TSO . Это сохраняло память в те дни, когда память была драгоценна. Таким образом, даже когда TSO был доступен, организации, стремящиеся свести к минимуму использование памяти, часто оставляли некоторых или даже большинство своих пользователей на WYLBUR, а не позволяли им использовать интерактивную среду TSO.
WYLBUR предоставляет сжатые секционированные наборы данных (PDS, также известные как библиотеки) для экономии дискового пространства. В MVS обычно исходный код хранится в виде последовательности изображений карточек (строки по 80 символов). Если строка содержала только один или несколько символов, для хранения этой строки все равно использовалось 80 символов. Даже когда данные, например исходный код, хранятся как заблокированные переменные (VB), пространство может быть потрачено впустую на строки встроенных пробелов. WYLBUR реализует поточно-ориентированное хранение текста в PDS (и последовательных наборах данных), так что для хранения одной символьной строки может потребоваться только 16 символов (длина строки, смещение , длина фрагмента, символ), а не 80. WYLBUR или внешняя программа, запускаемая через JCL , использовалась для преобразования файлов в формат WYLBUR EDIT и обратно.
Хотя TSO позволяет пользователю делать больше, чем заблокированная система WYLBUR, можно писать сценарии WYLBUR Exec, которые выполняют пакетные задания для выполнения функций, которые обычно требовали бы учетной записи TSO, заполняя скелет пакетного задания параметрами, отправка пакетного задания, получение результатов и отображение их на экране.
WYLBUR имеет некоторые преимущества в безопасности перед TSO, но и некоторые недостатки. Преимущества включают в себя:
- Возможность писать правила, ограничивающие доступ пользователей к наборам данных, отличным от тех, которые принадлежат им и хранятся под их префиксом. пользователя Это аналогично домашнему каталогу в UNIX и выглядит примерно так: WYL.AV99.HCO, где AV99 примерно соответствует «группе», а HCO — «пользователю» внутри группы.
- Быть более справедливым в использовании ресурсов. WYLBUR не реализует такие команды, как alloc TSO, которые могут намеренно или непреднамеренно блокировать доступ других лиц к файлам данных на длительный период времени или использовать огромные объемы памяти или процессорного времени. Таким образом, это сводит к минимуму влияние любого отдельного пользователя на всех остальных пользователей.
- Команды для установки определенных параметров состояния или «слежения» за командами, выполняемыми другими пользователями, были доступны только администраторам и не могли быть выполнены обычными пользователями.
К недостаткам, связанным с безопасностью, относятся:
- WYLBUR — это система с одним адресным пространством. Это означает, что если пользователь сможет понять, как получить доступ к необработанным байтам в адресном пространстве, он потенциально сможет получить доступ к информации, которой он не владеет. Например, когда-то существовала программа, написанная двумя студентами колледжа на языке сценариев WYLBUR Exec , которая могла извлечь из памяти WYLBUR пароль пользователя, последним вошедшего в систему.
- Поскольку процесс WYLBUR выполняется под системной учетной записью, назначенной WYLBUR, он полностью зависит от обеспечения защиты доступа к набору данных в соответствии с правилами, установленными в WYLBUR. Применение правил доступа может быть полностью отключено пользователем с правами администратора в целях обслуживания системы, который может не забыть их повторно включить.
- WYLBUR реализует дисковые квоты с интересной особенностью: любой пользователь системы может передать всю или часть своей квоты другим пользователям. Эту функциональность можно было бы объединить с типичными студенческими учетными записями, связанными с курсом, которые закрывались в конце каждого семестра, и с опытными в использовании компьютеров студентами, у которых были учетные записи с неограниченным сроком действия и низкими дисковыми квотами, что не всегда ожидалось сотрудниками университета.
- В системах, использующих пакет безопасности ACF2 , пользователь с учетными записями в TSO и WYLBUR, привязанными к одному и тому же имени учетной записи, может сбросить содержимое записи безопасности своей учетной записи WYLBUR в интерактивном режиме из TSO. Это можно использовать для превращения обычного пользователя WYLBUR в администратора WYLBUR, увеличения его дисковой квоты и т. д.
- По крайней мере, в 1960-е годы правила безопасности WYLBUR не применялись к пакетным заданиям, выполняемым в одной и той же системе. Таким образом, такие утилиты, как IEHLIST и IEBGENER, можно было использовать для обнаружения, чтения и изменения файлов, принадлежащих другим пользователям WYLBUR, если только вы не защитили эти файлы паролем, что было неудобно с операционной точки зрения.
Управление данными [ править ]
У Уилбура был специальный формат редактирования для наборов данных Уилбура, которые сжаты и имеют номер строки и флаг редакции для каждой строки. Кроме того, Wylbur поддерживает стандартные наборы данных FB и VB. Пользователь Wylbur обычно указывает том по умолчанию, которым может быть специальное слово CATLG. запрос поиска в каталоге существующего набора данных и запрос на каталогизацию нового набора данных. У Уилбура есть возможность преобразовывать номера строк между наборами данных редактирования и IBM либо в виде масштабированных целых чисел , либо с явной десятичной точкой.
Редактирование [ править ]
Wylbur предоставляет строковый редактор, который работает с временными наборами данных, подобно буферам в других редакторах. В любой момент времени один из временных наборов данных назначается по умолчанию. Уилбур поддерживает текущий указатель строки для каждого временного набора данных. Пользователь может указать явный набор рабочих данных для команды; если он его опускает, то в качестве рабочего набора данных используется временный набор данных по умолчанию.
Единицей работы является набор строк ( ассоциативный диапазон ), а отдельные строки идентифицируются номером строки в диапазоне от 0,0 до 99999,999; ведущие нули в целой части и конечные нули в дробной части могут быть опущены. Пользователь может указать номер строки любым из следующих способов.
- Абсолютный номер строки: ddddd.ddd
- ПЕРВЫЙ: первая строка в наборе рабочих данных.
- CURRENT: текущая строка для рабочего набора данных.
- ПОСЛЕДНИЙ: последняя строка в наборе рабочих данных.
- КОНЕЦ: цель для копий, следующая за последней строкой в наборе рабочих данных.
- относительный: строка+порядковый номер или строка-порядковый номер.
- макропеременная, содержащая строку
Библиотеки Wylbur имеют нестандартный формат, однако он позволяет пользователю экспортировать в собственные файлы ОС с целочисленными порядковыми номерами, а также импортировать собственные файлы ОС с целочисленной последовательностью и масштабировать номер строки в 1000 раз.
Диапазон можно указать как комбинацию
- Явный диапазон, например,
5.3-2/7.4+3
- Образец, например,
'X' DIGITS*3
- Шаблон с диапазоном столбцов, например,
'BAL' 10/15
- Порядковый номер, например,
3RD 'BAL' 10/15
- Порядковый номер относительно совпадения, например,
3RD AFTER 'BAL' 10/15
- Последовательность строк после совпадения, например:
EVERY 3RD AFTER 'BAL' 10/15
- Булева операция, например,
'PAGE' INTERSECTION COMPLEMENT 'NUMBER'
- Спецификация в круглых скобках с префиксом SET, например:
'PAGE' INTERSECTION SET (COMPLEMENT 'NUMBER')
Шаблон похож на регулярное выражение , но синтаксис ближе к синтаксису SNOBOL, чем к синтаксису Unix или Perl , здесь нет возврата назад, и только NIH Wylbur имеет захват подшаблонов. Узор может быть:
- 'нить'
- "нить"
- узор
- (шаблон)
- образец*цифры
- шаблон*цифры/цифры
- НАД «строкой»
- образец И образец
- ЛЮБОЙ
- BACKSPACE
- НИЖЕ 'строка'
- ПУСТОЙ
- ЗАГОТОВКИ
- BOL
- БОС
- ПУЛЯ
- БРОСАТЬСЯ
- ЦИФРА
- ЦИФРЫ
- ЕЦБ
Равно, запятая, пробел - ECBS
Равно, запятые, пробелы - ПУСТОЙ
- окончание срока действия
- ЭОС
- HEX [#]шестнадцатеричные цифры
- LКРОНШТЕЙН
- ПИСЬМО
- НИЖЕ
- НЕ шаблон
- шаблон ИЛИ шаблон
- ПУНКТ
- ПУНКТУАЦИЯ
- RКРОНШТЕЙН
- РАЗДЕЛ
- КОСМОС
- ПРОСТРАНСТВА
- НЕКОТОРАЯ «строка»
- шаблон THRU шаблон
- НЕПЕЧАТАЕМЫЙ
- UPLOW 'строка'
- ВЕРХНИЙ
Примеры команд
CHANGE 73/80 TO X10+10 IN EVERY 3RD LINE OF 'ABC' 1/3 in 1.5-2/3.7+2
COPY 'BAL' 10/15 TO EMD
CHANGE 73/80 TO '' IN EVERY 3RD LINE START 2 OF 'BAL' 10/15
CHANGE '(' DIGITS*3 ')' TO SUBSTRING 2/4
Спецификация base+increment означает, что текст замены в первой строке является базовым и увеличивается в последующих строках, так что X10+10 заменяет совпадающий текст в первой строке на X10 , во второй строке на X20 и в третьей. линия с X30 . Спецификация SUBSTRING 2/4 означает столбцы 2–4 совпавшей строки; обратите внимание, что это менее гибко, чем захваты.
Расширенные версии [ править ]
Различные организации разработали улучшенные версии Уилбура. В их число вошли
- Национальные институты здравоохранения [7] [8] [9] [10]
- Online Business Systems, которая была приобретена ACS (Affiliated Computer Services Inc).
- Optimum Systems Inc., проданная Electronic Data Systems , а затем выделенная в SuperWylbur® Systems, Inc. [11] [12] [13] [14] [15]
- Корпорация РЭНД:
- Командные объекты УИЛБУРа, 1975 г.
- В этом руководстве описаны две связанные возможности, которые расширяют WYLBUR в сторону языка программирования, поддерживающего приложения для ввода структурированного текста и манипулирования текстом.
- Первая возможность представляет собой расширение командного словаря WYLBUR, которое дает WYLBUR многие возможности, связанные с традиционными языками программирования. Расширение было написано Полом Андерсеном.
- Второе средство — это пакетный препроцессор, который позволяет программисту WYLBUR разрабатывать командные программы WYLBUR на языке, аналогичном PL/I. Препроцессор был разработан Дэвидом Дж. Смитом.
- В этом руководстве описаны две связанные возможности, которые расширяют WYLBUR в сторону языка программирования, поддерживающего приложения для ввода структурированного текста и манипулирования текстом.
- Руководство для учащихся WYLBUR
- Справочное руководство WYLBUR
- Командные объекты УИЛБУРа, 1975 г.
СуперУилбур [ править ]
SuperWylbur имеет несколько улучшений по сравнению с оригинальным Wylbur. Наиболее важными являются
- Поддержка терминалов 3270, 3767 и NTO через VTAM ; как и другие собственные версии Wylbur, SuperWylbur не использует MILTEN для терминалов VTAM.
- Расширенные возможности макросов .
- Поддержка написанных пользователем полноэкранных панелей.
Макрообъект СуперВилбур [ править ]
Макропроцессор добавляет в Wylbur команды, константы, функции и выражения. Даже если синтаксис команды не включает параметры, определенные как выражения, пользователь может использовать формы %( выражение ) и %%( выражение ) для принудительной оценки. Если выражение представляет собой функцию без аргумента или переменную, круглые скобки можно опустить, например: %.TIME вместо %(.ВРЕМЯ) . Удвоенный % требует цитирования значения.
Константы СуперУилбура [ править ]
SuperWylbur имеет два типа констант:
- Числовые константы
- [ знак ] цифры [ E [ знак ] показатель степени ]
- # шестнадцатеричные цифры
- строковые константы
- ' персонажи '
- " персонажи "
Операторы СуперУилбура [ править ]
Операторы SuperWylbur, имена которых содержат только специальные символы, не нужно разделять пробелами. Операторы, имена которых содержат точку и буквы, должны быть разделены пробелами. SuperWylbur имеет следующие типы операторов:
Арифметические операторы СуперВильбура [ править ]
- + Плюс
- - Минус
- * Время
- / Разделять
- // Целочисленное деление
- .DIV синоним слова //
- .MOD Модуль
- ** Экспоненциальный
Операторы отношений SuperWylbur [ править ]
- < ( .LT ) Менее чем
- <= ( .LE ) Меньше или равно
- = ( .EQ ) Равно
- >= ( .GE ) Больше или равно
- > ( GT ) Больше
- ¬< ( .NLT ) Не менее
- ¬<= ( .NLE ) Не меньше или равно
- ¬= ( .NEQ ) Не равно
- ¬>= ( .NGE ) Не больше или равно
- ¬> ( .NGT ) Не более
Логические СуперУилбура операторы
- & ( .И ) И
- | ( .ИЛИ ) Или
- ¬ ( .НЕ ) Нет
Макросы SuperWylbur [ править ]
Имя макрофункции начинается с точки. Если есть аргументы, они отделяются от имени двоеточием. Точка с запятой разделяет последовательные аргументы. SuperWylbur предоставляет следующие типы макрофункций:
арифметические функции [ править ]
- .АБС
- .ACOS
- .СОЛЬ
- .АТАН
- .ПОТОЛОК
- .COS
- .COSH
- .ХЛОПОК
- .ТЫ
- .И
- .НАСЛЕДОВАТЬ
- .ERFC
- .EXP
- .ПОЛ
- .ФРАКЦИЯ
- .ГАММА
- .ЛГАММА
- .БРЕВНО
- .LOG10
- .PI
- .РАД
- .КРУГЛЫЙ
- .SIN
- .РОЖДЕННЫЙ
- .SQRT
- .ТАН
- .ТАНХ
- .TRUNCATE
бухгалтерские функции [ править ]
- .ЗАРЯЖАТЬ
- .CONNTIME
- .CUPTIMES
- .МЕМАКТ
- .MEMCPU
- .ПАМЯТЬ
- .MEMTIME
- .СТРАНИЦЫ
- .СТРАНИЦЫ
- ПЕЙДЖИНГ
- .ТЕРМИО
преобразование даты и времени [ править ]
Параметры s по умолчанию соответствуют текущей дате или времени
- .ДАТА
- .ДАТА4
- .ДНИ
- .ДНИ
- .ПОЛНАЯДАТА
- .JDATE
- .JDATE4
- .ВРЕМЯ
- .TIME100
- .TIME24
- .TIMEMIC
экологические запросы [ править ]
Большинство из этих возвращаемых значений из SET -команды:
- .СЧЕТ
- .ТРЕВОГА
- .АВТОЛОГ
- .НАЗАД
- .ПАРТИЯ
- .БИН
- .СЛУЧАЙ
- .ПОДТВЕРЖДАТЬ
- .КОНТ
- .ПРОЦЕССОР
- .DSФОРМАТ
- .РЕДАКТИРОВАТЬ
- .EXTDS
- .FSASIZE
- .ДЛИНА
- .ЛНДП
- .ЛОГОНИД
- .MAILDSN
- .MAILVOL
- .УВЕДОМЛЕНИЕ
- .ПОРТ
- .ПРЕФИКС
- .ПРИВ
- .ПРОЕКТ
- .ФЕРЕМ
- .ПУБПРЕФИКС
- .PUBVOL
- .RECDSN
- .RECVOL
- .КОМНАТА
- .RSASIZE
- .СКРСИЗЕ
- .SSASIZE
- .SWCOUNT
- .SWSYSPRE
- .СИСМДСН
- .SYSMVOL
- .SYSNAME
- .T3270
- .TABS
- .РАЗГОВАРИВАТЬ
- .ТЕРМИНАЛ
- .КРАТКИЙ
- .TIMEOUT
- .ПОЛЬЗОВАТЕЛЬ
- .ВЕРСИЯ
- .ОБЪЕМ
- .ШИРИНА
полноэкранные функции [ править ]
- .КУРСОРПОСН
- .КУРСОРВАР
- .РЕДАКТИРОВАТЬ
- .EDITLINE
- .ENTRYKEY
- .SCRNUPDT
- .ВАРУПДАТЭ
JES-функции [ править ]
- .ФЕТЧЛИН
- .LASTJOB
макрофункции [ править ]
- .ARG
- .ГРУЗ
- .CMDCOUNT
- .CMDLIMIT
- .CMDMAX
- .DSEXIST
- .DSNAME
- .ИСХОДНЫЙ
- .LASTJOB
- .ЛАТТН
- .ЛЕРР
- .MRETURN
- .РОДНОЙ
- .XLATTN
- .XLERR
строковые функции [ править ]
- .БАЙТ
- .CHAR
- .СТОЛБЦЫ
- .БРОСАТЬСЯ
- .ПРОДЛЕВАТЬ
- .ИНДЕКС
- .HEX
- .HEXSTR
- .ИНДЕКС
- .НИЖЕ
- .PAD
- .ЦИТИРОВАТЬ
- .ОБЕСПЕЧИТЬ РЕГРЕСС
- .РОМАН
- .STRHEX
- .НИТЬ
- .СТРИЛС
- ПОДСТРОКА
- .ПЕРЕВОДИТЬ
- .ПОДРЕЗАТЬ
- .ВЕРХНИЙ
- .ПРОВЕРЯТЬ
функции рабочего файла [ править ]
s аргументы по умолчанию соответствуют текущему набору рабочих данных по умолчанию
- .ТЕКУЩИЙ
- .КОНЕЦ
- .ПЕРВЫЙ
- .ПОСЛЕДНИЙ
- .ДЛИНА
- .ЛИНИЯ
- .Шерсть
- .МАКРОС
- .MAXTIME
- .NUMTEMPS
- .РАЗМЕР
- .ВРЕМЕННЫЙ
- .TEMPSLEFT
- .TEMPUPD
- .ТЕКСТ
Полный список функций макроса [ править ]
- .АБС: нет
- Абсолютное значение
- .СЧЕТ
- Номер учетной записи из идентификатора входа в систему
- .ACOS: х
- Арккосинус х
- .ТРЕВОГА
- 1, если звуковой сигнал на следующем терминале запишет
- .ARG
- Аргументы, передаваемые макросу
- .И: х
- Арксинус х
- .АТАН: х
- Арктангенс х
- .АВТОЛОГ
- Стоимость УСТАНОВИТЬ АВТОЖУРНАЛ ; используется для восстановления после предыдущего сеанса
- .НАЗАД
- УСТАНОВИТЬ вариант: НАЗАД или НОБАК
- .ПАРТИЯ: с
- Стоимость УСТАНОВИТЬ опции ПАКЕТНЫЕ
- .БИН
- Значение от КОМПЛЕКТАЦИЯ НОМЕРА
- .BYTE :( с [ ; я ])
- Преобразовать байт i из s в целое число
- .ГРУЗ
- Аргументы, передаваемые пользовательской команде, определенной с помощью УСТАНОВИТЬ КОМАНДУ
- .СЛУЧАЙ
- Значение от УСТАНОВИТЬ СЛУЧАЙ : ВЕРХНИЙ или ВВЕРХ
- .ПОТОЛОК: нет
- Усечь
- .ЧАР: я
- Преобразование i в один символ EBCDIC
- .ЗАРЯЖАТЬ
- Стоимость текущей сессии в долларах и центах
- .CMCOUNT
- Макрос-команды без терминального ввода-вывода
- .CMDCOUNT
- Макрос-команды без терминального ввода-вывода
- .CMDLIMIT
- Значение от УСТАНОВИТЬ КМДЛИМИТ ; максимальная макрокоманда без терминала ввода/вывода
- .CMDMAX
- Максимально разрешенный в УСТАНОВИТЬ КМДЛИМИТ
- .CMLIMIT
- Значение от УСТАНОВИТЬ КМДЛИМИТ ; максимальная макрокоманда без терминала ввода/вывода
- .СТОЛБЦЫ: с ; я1 [ ; я2 ]
- Подстрока s из столбца i1 в столбец i2
- .ПОДТВЕРЖДАТЬ
- 1, если УСТАНОВИТЬ ПОДТВЕРДИТЬ
- .CONNTIME
- Подключите TINME в секундах с точностью до 2 десятичных знаков
- .КОНТ
- Продолжение персонажа
- .COS: х
- косинус х
- .COSH: х
- Гиперболический косинус x
- .ХЛОПОК: х
- Котангенс х
- .ПРОЦЕССОР
- Идентификатор процессора из SMF
- .CUPTIMES
- Время процессора в секундах с точностью до 2 десятичных знаков
- .ТЕКУЩИЙ [ : с ]
- Текущий номер строки рабочего набора данных s ; -1, если он не существует, -2, если он пуст.
- .ТЕЛО
- Позиция курсора при последнем прерывании в виде строка+столбец/1000; -1, если не 3270
- .КУРСОРВАР
- Имя переменной для поля, содержащего курсор при последнем прерывании
- .БРОСАТЬСЯ
- Символ тире, используемый ДЕФИС ('62'X)
- .ДАТА [ : с ]
- Преобразовать дату по юлианскому календарю ( гг.дд или гггг.ддд) в мм/дд/гг
- .ДАТА4 [ : с ]
- Преобразовать дату по юлианскому календарю ( гг.дд или гггг.ддд) в мм/дд/гггг
- .ДЕНЬ [ : с ]
- День недели s (мм/дд/гг или мм/дд/гггг) приходится на
- .ДНЕЙ [ : с ]
- Дней с 01.01.1900 по с.
- .ТЫ: х
- Перевести х радианы в градусы
- .DSEXIST: s1 [ ; с2 )
- 1, если набор данных s1 существует на томе s2 (может быть КАТЛГ )
- .DSФОРМАТ
- Значение от УСТАНОВИТЬ ДСФОРМАТ : КРАТКИЙ или ПОДРОБНЫЙ
- .DSNAME: с
- Преобразует s в полное имя набора данных.
- .И
- и
- .РЕДАКТИРОВАТЬ
- 1, если в полноэкранном режиме редактирования
- .EDITLINE
- Номер строки вверху рамки редактирования, -1, если не 3270, -2, если нет полноэкранного редактирования, -3 пусто
- .КОНЕЦ [ : с ]
- Следующее целое число после номера последней строки в рабочем наборе данных s
- .ENTRYKEY
- Ключ, вызывающий последнее прерывание: ПРОЗРАЧНЫЙ , КУРС , ВХОДИТЬ , ПА1 - ПА3 , ПФК1 - ПРК24
- .ERF: х
- Функция ошибки
- .ERFC: х
- Функция ошибки
- .EXP: х
- и ^ х
- .EXTDS
- 1, если сессия поддерживает расширенный поток данных 3270.
- .РАСШИРИТЬ:( s1 ; я [ ; с2 ] )
- Добавьте столько копий s2 (по умолчанию " "), сколько необходимо, к s1, чтобы получить длину i.
- .ФЕТЧЛИН
- Строки, полученные ПОЛУЧИТЬ команда
- .ПЕРВЫЙ [ : с ]
- Номер первой строки рабочего набора данных s ; -1, если он не существует, -2, если он пуст.
- .ПОЛ: я
- Усечь вниз
- .ФРАКЦИЯ: n
- Дробная часть n
- .FSASIZE
- Размер полноэкранной области 3270
- .ПОЛНАЯДАТА [ : с ]
- Преобразование мм/дд/гг или мм/дд/гггг в день месяца, гггг
- .ГАММА: х
- Гамма( х )
- .HELPPDSN
- Имя набора справочных данных
- .HELPVOL
- Серийный номер тома набора справочных данных или КАТЛГ
- .HEX:( i1 [ ; я2 ] )
- Преобразование i1 в шестнадцатеричный формат , дополненный нулями до длины i2.
- .HEXSTR: с
- Преобразование шестнадцатеричного числа в строку
- .ИНДЕКС: с1 [ ; с2 ] )
- Первый столбец, в котором s2 встречается в s1 ; 0, если нет совпадений
- .НАЧАЛЬНО: с
- 1, если переменная s инициализирована
- .ВВОД: я
- Содержимое текущей строки канала i ; переместить указатель текущей строки
- .JДАТА [ : с ]
- Преобразование s из мм/дд/гг или мм/дд/гггг в юлианскую дату гг.ддд
- .JDATE4 [ : с ]
- Преобразование s из мм/дд/гг или мм/дд/гггг в юлианскую дату гггг.ддд
- .ПОСЛЕДНИЙ [ : с ]
- Номер последней строки рабочего набора данных s ; -1, если он не существует, -2, если он пуст.
- .LASTJOB
- Номер последнего задания, отправленного с ПУСК команда
- .ЛАТТН
- Номер строки, выполняющейся при выходе внимания на текущем уровне макроса; -1, если разрешено или выход не выбран
- .ДЛИНА
- Значение от УСТАНОВКА ДЛИНЫ
- .ДЛИНА: n [ ; [ s ][[ ; я ]] )
- Длина строки i после (до, если отрицательное значение) строки n рабочего набора данных s
- .ЛЕРР
- Номер строки, выполняющейся при возникновении ошибки выхода на текущем уровне макроса; -1, если разрешено или выход не выбран
- .ЛГАММА: х
- Ln(Гамма( x ))
- .Шерсть [ ; [ s ][[ ; я ]] )
- Строка i строки после (до, если отрицательное значение) строки n рабочего набора данных s
- .ЛИНЕНО: н [ ; [ s ][[ ; я ]] )
- Число строк i после (до, если отрицательное значение) строки n рабочего набора данных s
- .ЛНДП
- Номер строки после запятой (3)
- .LOG: х
- Lн х
- .ЛОГОНИД
- Идентификатор входа, используемый для текущего сеанса
- .LOG10: х
- Журнал 10 х
- .НИЖНИЙ: с
- Преобразовать s в нижний регистр
- .МАКРОС
- Имя макроса, выполняющегося в данный момент
- .MAILDSN
- Имя набора данных почтового набора данных
- .MAILVOL
- Серийный номер тома набора почтовых данных или КАТЛГ
- .MAXTIME
- Максимальное количество временных объектов не по умолчанию, разрешенных в сеансе
- .МЕМАКТ
- Байты, доступные во время сеанса
- .MEMCPU
- Байты*секунды до 2 десятичных знаков
- .ПАМЯТЬ
- Рабочая память используется
- .MEMTIME
- Память*секунды до 2 десятичных знаков
- .MRETURN
- Номер строки текущего исполняемого макроса
- .РОДНОЙ [ : я ]
- 1, если CONTROL NATIVE действует на макроуровне i (ток по умолчанию).
- .ДАЛЕЕ: я
- Указатель текущей строки для канала i
- .УВЕДОМЛЕНИЕ
- 1, если SET NOTIFY действует
- .НОМЕР: с
- Строковое представление значения выражения s
- .NUMTEMPS
- Количество нестандартных временных объектов, используемых сеансом
- .ПУТЬ: н [ ; [-] я1 [[ ; я2 ]] )
- То же, что .STRING, но вместо пробела дополняется нулем
- .СТРАНИЦЫ
- Количество страниц SuperWylbur, используемых сеансом
- .СТРАНИЦЫ
- Страницы*секунды
- ПЕЙДЖИНГ
- Количество операций подкачки в текущем сеансе
- .PI
- π (Пи)
- .ПИНДЕКС: s1 ; с2 )
- Первое совпадение шаблона s2 с s1 ; столбец + дробь(длина/1000); 0, если нет совпадений
- .ПОРТ
- Имя узла VTAM или cuu
- .ПРЕФИКС
- Значение от УСТАНОВИТЬ ПРЕФИКС
- .ПРИВ: с
- 1, если у пользователя есть привилегии s
- .ПРОЕКТ
- Название проекта
- .ФЕРЕМ
- Участник профиля, когда он не находится в процессе восстановления
- .ПУБПРЕФИКС
- Префикс для общедоступных наборов данных ( &ПУБЛИЧНЫЙ )
- .PUBVOL
- Серийный номер тома общедоступных наборов данных или КАТЛГ
- .ЦИТАТА: s1 [ ; с2 ] )
- Цитируйте s1, используя обрамляющий символ s2
- .КОЛЕСО: х
- Перевести х градусов в радианы
- .RECDSN
- Имя набора данных для набора данных восстановления после ВЫХОД НЕПРЕРЫВНЫЙ
- .RECVOL
- Том, на котором необходимо создать наборы данных для восстановления или КАТЛГ
- .РЕВЕРС: с
- Обратный порядок строки s
- .RJECMD
- Количество Команды JES , выдаваемые во время сеанса
- .РОМАН: я
- Римские цифры в нижнем регистре для i
- .КОМНАТА
- Значение от КОМПЛЕКТАЦИЯ НОМЕРА
- .РАУНД: н [ ; я ] )
- Округлить n до i десятичных знаков
- .RSASIZE
- Размер резервной области экрана 3270
- .SCRNUPDT
- Пользователь обновил поле панели с момента последней записи.
- .СКРСИЗЕ
- Размер экрана в виде строк и столбцов (3 цифры после десятичной точки) или -1, если не 3270.
- .SIN: х
- Синус х
- .РОЖДЕНИЕ: x
- Гиперболический синус х
- .РАЗМЕР [ : с ]
- Количество строк в рабочем наборе данных s ; -1, если он не существует
- .КОРЕНЬ: х
- Квадратный корень из х
- .SSASIZE
- Размер стандартной площади экрана 3270
- .STRHEX: с
- Преобразовать первые 127 символов строки EBCIDIC в шестнадцатеричный формат.
- .STRING: н
- Значение выражения без экспоненциальной записи
- .STRING:( н ; я1 )
- Значение выражения длиной i1
- .STRING:( н ; я1 ; я2 )
- Значение выражения длиной i1 и i2 десятичных знаков
- .STRING:( н ; -i1 )
- Значение выражения с максимальной длиной i1
- .STRING:( н ; -i1 ; я2 )
- Значение выражения с максимальной длиной i1 и i2 десятичных знаков
- .СТРЛЕН: с
- Количество символов в с
- .SUBSTRING:( с ; я1 [ ; я2 ] )
- Подстрока s из столбца i1 для i2 столбцов
- .SWCOUNT
- Количество пользователей, вошедших в эту задачу SuperWylbur
- .SWSYSPRE
- Префикс набора системных данных
- .СИСМДСН
- Имя набора макроданных общедоступной системы
- .SYSMVOL
- Серийный номер общедоступного системного макротома или КАТЛГ
- .SYSNAME
- Имя задачи текущего экземпляра SuperWylbur
- .TABS
- Настройки вкладки, через запятую
- .РАЗГОВАРИВАТЬ
- Значение от НАЧАТЬ РАЗГОВОР ( ПЕРЕРЫВ SET ): РАЗГОВОР или НОТАЛК
- .ТАН: х
- Касательная х
- .ТАН: х
- Гиперболический тангенс x
- .ВРЕМЕННЫЙ
- Уникальное имя для нового временного
- .TEMPSLEFT
- Количество доступных временных объектов не по умолчанию для сеанса
- .TEMPUPD [ : с ]
- 1, если рабочий файл был обновлен с момента последнего обновления СОХРАНЯТЬ
- .ТЕРМИНАЛ
- Имя терминала или значение .ПОРТ
- .ТЕРМИО
- Количество операций терминального ввода-вывода в текущем сеансе
- .КРАТКИЙ
- КРАТКИЙ или ПОДРОБНЫЙ
- .ТЕКСТ
- Текущий набор рабочих данных по умолчанию
- .ВРЕМЯ
- 12-часовое время в форме чч : мм : сс х .м.
- .TIMEMIC
- 11-значные микросекунды с полуночи
- .TIMEOUT
- 0, если SET NO TIMEOUT , 1, если УСТАНОВИТЬ ТАЙМ-АУТ , -1, если нет TIME Привилегия
- .TIMEOUT:( я [ ; с ] )
- Значение i-го таймаута для с ( ПОЛЬЗОВАТЕЛЬ или СИСТЕМА )
- .TIME100
- Число секунд с полуночи до 2 знаков после запятой
- .TIME24
- 24-часовое время
- .ПЕРЕВЕСТИ:( s1 ; с2 ; s3 )
- Переведите s1, используя входную таблицу s2 и выходную таблицу s3.
- .TRIM:( s1 ; с2 [ ; s3 ] )
- Удалите s2 с концов s1 в соответствии с s3 : L = слева, R = справа (по умолчанию), B = оба.
- .TRUNCATE:( n [ ; я ] )
- Усечь n до i десятичных знаков
- .T3270
- 1, если 3270
- .ВЕРХНИЙ: с
- Преобразовать s в верхний регистр
- .ПОЛЬЗОВАТЕЛЬ
- Пользовательская часть идентификатора входа в систему
- .ВАРУПДАТЭ
- Количество переменных экрана панели, которые пользователь обновил с момента последней записи; -1, если не 3270
- .ПРОВЕРИТЬ:( s1 [ ; с2 ] )
- Первая позиция в s1 отсутствует в s2 ; 0, если все символы в s1 находятся в s2
- .ВЕРСИЯ
- Уровень SuperWylbur в форме version.release - PTF
- .ОБЪЕМ
- Установленная громкость для сеанса, CATLG или ноль
- .ШИРИНА
- Стоимость УСТАНОВИТЬ ШИРИНУ
- .XLATTN
- Номер строки выхода внимания для текущего макроуровня; -1, если установлен выход без внимания
- .XLERR
- Номер строки выхода из ошибки для текущего уровня макроса; -1, если нет ошибок, выход установлен
Псевдофункции макроса SuperWylbur [ править ]
Псевдофункции подобны функциям, за исключением того, что они появляются в левой части присваивания, например: LET . foo : bar = baz .
- .СТОЛБЦЫ:( v ; я1 [ ; я2 ] )
- Заменить столбцы с i1 по i2 из v
- .КУРСОР
- Установите переменную панели, на которую поместите курсор
- .ФАЙЛ: я
- Свяжите рабочий набор данных с каналом i
- .Шерсть [ ; [ s ][[ ; я ]] )
- Замените или вставьте строку n в рабочий набор данных s, если i опущено или равно нулю.
Замените строки i после (до, если отрицательный результат) строки «n» в рабочем наборе данных «s». - .ДАЛЕЕ: я
- Установить указатель текущей строки для канала i
- .ВЫВОД: я
- Добавить или заменить текущую строку канала i , переместить указатель текущей строки
- .SUBSTRING:( v ; я1 [ ; я2 ] )
- Заменить столбец i1 из v на i2 столбцы
- ОБНОВЛЕНИЕ: я
- Заменить последнюю строку, прочитанную из канала i
Макросы SuperWylbur [ править ]
- ¬ command [ ; команда ]* (собственная команда)
- ВЫЗВАТЬ, какой temp-optsprocess -opts аргумент VALUE имя переменной
- ПРОЗРАЧНЫЙ МЕСТНЫЕ ЖИТЕЛИ
- ПРОЗРАЧНЫЙ МАКРО
- ПРОЗРАЧНЫЙ МАКРОСЫ
- ПРОЗРАЧНЫЙ СЛЕД
- КОММЕНТАРИЙ
- КОНТРОЛЬ
- ТРЕБОВАТЬ
- ДЕЛАТЬ
- ДЕЛАТЬ ДО
- ДЕЛАТЬ ПОКА
- КОНЕЦ
- ВЫПОЛНЯТЬ
- ВЫХОД
- ИДТИ
- ИДТИ К
- ЕСЛИ
- LET переменная = выражение
- ПЕТЛЯ [ ИСПОЛЬЗОВАНИЕ переменной ] ИЗ выражения-1 ТО выражение-2 [ ПО выражению-3 ]
- ПОИСКПОЗ шаблона выражения Команда
- В ПРОТИВНОМ СЛУЧАЕ
- ПАУЗА
- ВЫБРАТЬ [ выражение ]
- НАБОР ВЫХОД
- НАБОР ПРЕДЕЛ
- НАБОР СЛЕД
- СКАНИРОВАНИЕ КЛЮЧЕВОЕ СЛОВО
- СКАНИРОВАНИЕ ПОЗИЦИОНАЛЬНЫЙ
- ПОКАЗЫВАТЬ ГЛОБАЛЬНЫЕ
- ПОКАЗЫВАТЬ ПРЕДЕЛ
- ПОКАЗЫВАТЬ МЕСТНЫЕ ЖИТЕЛИ
- ПОКАЗЫВАТЬ МАКРО
- ПОКАЗЫВАТЬ МАКРОСЫ
- ПОКАЗЫВАТЬ ПАНЕЛИ
- СИГНАЛ
- ТИП
- ТИП
- ожидания Интервал
- ПОДОЖДИТЕ б
- КОГДА ( выражение [ ; выражение ]* )
См. также [ править ]
Примечания [ править ]
- ^ Использование собственного языка разметки.
Ссылки [ править ]
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Август 2010 г. ) |
- ↑ Перейти обратно: Перейти обратно: а б с Функциональное описание системы разделения времени ORVYL/370 , Стэнфордский университет, 1978 г.
- ↑ Перейти обратно: Перейти обратно: а б Справочное руководство WYLBUR , Стэнфордский университет, 1984 г.
- ^ «УИЛБУР, ОРВИЛ (МИЛТЕН и друзья)» . hercules-390.yahoogroups.narkive.com . Проверено 9 октября 2023 г.
- ^ «WYLBUR уйдет на пенсию». Архивировано 6 мая 2009 г., в Wayback Machine , Titan News , Центр информационных технологий, Национальные институты здравоохранения (NIH), 7 апреля 2009 г.
- ^ «Источники и документация ORVYL, WYLBUR и MILTEN» . Доступен бесплатно в виде открытого исходного кода от Стэнфордского университета по лицензии, созданной по образцу «Лицензии Mozilla 1.1», сертифицированной «Инициативой открытого исходного кода (OSI)».
- ^ «Вычисления в ЦЕРН: эра мэйнфреймов» , Крис Джонс, CERN Courier , 6 сентября 2004 г.
- ^ Основы Уилбура . Национальные институты здравоохранения. Ноябрь 1980 года.
- ^ Общее редактирование Уилбура . Национальные институты здравоохранения. Февраль 1984 года.
- ^ Командные процедуры Уилбура . Национальные институты здравоохранения. Декабрь 1980 года.
- ^ Форматирование документов Уилбура . Национальные институты здравоохранения. Декабрь 1980 года.
- ^ Руководство по командам SuperWylbur® . SuperWylbur® Systems, Inc., сентябрь 1996 г.
- ^ Подготовка документов SuperWylbur® . SuperWylbur® Systems, Inc., сентябрь 1996 г.
- ^ Ввод и поиск заданий SuperWylbur® . SuperWylbur® Systems, Inc., сентябрь 1996 г.
- ^ Программирование макросов SuperWylbur® и панели пользователя . SuperWylbur® Systems, Inc., сентябрь 1996 г.
- ^ Редактирование текста SuperWylbur® . SuperWylbur® Systems, Inc., сентябрь 1996 г.
Внешние ссылки [ править ]
- Роджер Фаджман; Джон Боргельт (май 1973 г.). «WYLBUR: интерактивная система редактирования текста и удаленного ввода вакансий» . Коммуникации АКМ . 16 (5): 314–322. дои : 10.1145/362041.362234 . ISSN 0001-0782 . S2CID 6892186 .
- Загрузка программного обеспечения ORVYL и WYLBUR из Стэнфордского университета.
- Заметки Usenet о WYLBUR
- Командные объекты WYLBUR , Вычислительный центр Rand R-1555/10, The Rand Corporation, 1975 г.