stringtranslate.com

ORVYL y WYLBUR

ORVYL es un monitor de tiempo compartido desarrollado por la Universidad de Stanford para computadoras IBM System/360 y System/370 en 1967-1968. [1] ORVYL fue uno de los primeros sistemas de tiempo compartido que estuvo disponible para computadoras IBM. Wylbur es un editor y procesador de textos diseñado para funcionar sin ORVYL o junto con ORVYL. [2] [3]

Descripción general

Los nombres ORVYL y WYLBUR se utilizan a menudo indistintamente, pero:

WYLBUR no es un sistema operativo completamente independiente en el molde de Dartmouth Time Sharing System (DTSS) o Unix . En lugar de ello, se ejecuta sobre un sistema operativo por lotes de IBM (OS/360, SVS, MVS). Toma la forma de un editor con un sistema de entrada remota de trabajos y, por lo tanto, tiene la misma relación con los sistemas operativos de IBM que Emacs con Unix. Por estas razones, a menudo se piensa en WYLBUR como un editor de texto más que como un sistema de tiempo compartido. Sin embargo, mientras que Unix no necesita Emacs para proporcionar servicios de edición de texto, los sistemas operativos de IBM originalmente necesitaban WYLBUR. Innovaciones posteriores, como el sistema de terminal administrativo (ATS) de IBM, la entrada de lotes remota conversacional (CRBE), la entrada de trabajos remota conversacional (CRJE) y la opción de tiempo compartido (TSO), hicieron que WYLBUR fuera menos relevante para los usuarios de IBM y lo reemplazaron gradualmente.

Este artículo utilizará la ortografía completa en mayúsculas para comandos y palabras clave. Todas las referencias a caracteres y cadenas asumen una página de códigos EBCDIC .

Usar

ORVYL y WYLBUR se utilizaron en el Centro del Acelerador Lineal de Stanford (SLAC) , la Organización Europea para la Investigación Nuclear (CERN) , los Institutos Nacionales de Salud de EE. UU. (NIH) y muchos otros sitios. Retirados de la mayoría de los sitios a fines de la década de 1990 debido a preocupaciones sobre los problemas del año 2000 , permanecieron en uso en los NIH hasta diciembre de 2009. [4] ORVYL y WYLBUR todavía están disponibles como código abierto en Stanford. [5] También existen versiones propietarias como SuperWYlbur.

ORVYL y WYLBUR eran muy admirados, como lo muestra este extracto de un artículo de 2004 titulado "Computación en el CERN: la era del mainframe":

[En 1976, el IBM S/370-168] también trajo consigo el sistema operativo MVS (Almacenamiento Virtual Múltiple), con su pedante Lenguaje de Control de Trabajo, y brindó al CERN la oportunidad de presentar WYLBUR, el querido e inteligentemente diseñado y amigable sistema de tiempo compartido desarrollado en SLAC, junto con su manual bellamente escrito a mano e ilustrado por John Ehrman. WYLBUR fue una obra maestra de diseño, logrando milagros con poca potencia (en ese momento) compartida entre muchos usuarios simultáneos. Se ganó amigos con su carácter complaciente y comenzó la salida de la maquinaria de tarjetas perforadas a medida que se introdujeron terminales de computadora en todo el laboratorio. [6]

Ventajas y desventajas

ORVYL y WYLBUR estuvieron disponibles por primera vez en 1967-68, antes de TSS/360 , TSO o cualquier otra solución oficial de tiempo compartido de IBM. Esto fue aproximadamente al mismo tiempo que los sistemas de tiempo compartido de terceros, como MTS , estuvieron disponibles y se llevó a cabo el esfuerzo de desarrollo oculto del CP-67 en el Centro Científico de Cambridge de IBM. WYLBUR tenía la ventaja adicional de que podía usarse junto con el sistema operativo principal de IBM, OS/360 .

WYLBUR es un sistema de espacio de dirección única, a diferencia de TSO . Esto conservaba la memoria en los días en que la memoria era preciosa. Entonces, incluso cuando TSO estaba disponible, las organizaciones que buscaban minimizar el uso de memoria a menudo mantenían a algunos o incluso a la mayoría de sus usuarios en WYLBUR en lugar de permitirles usar el entorno interactivo TSO.

WYLBUR proporciona conjuntos de datos particionados comprimidos (PDS, también conocidos como bibliotecas) para ahorrar espacio en disco. En MVS , el código fuente normalmente se almacena como una secuencia de imágenes de tarjetas (80 líneas de caracteres). Si una línea contenía solo uno o unos pocos caracteres, todavía se usaban 80 caracteres para almacenar esa línea. Incluso cuando los datos, por ejemplo el código fuente, se almacenan como variables bloqueadas (VB), se podría desperdiciar espacio en cadenas de espacios en blanco incrustados. WYLBUR implementa el almacenamiento de texto orientado a flujos en PDS (y conjuntos de datos secuenciales) de modo que una línea de un carácter solo pueda tomar 16 caracteres (longitud de línea, desplazamiento , longitud de fragmento, carácter) en lugar de 80 para almacenar. Se utilizó WYLBUR, o un programa externo ejecutado a través de JCL , para convertir archivos hacia y desde el formato WYLBUR EDIT.

Aunque TSO permite a un usuario hacer más de lo que hacía un sistema WYLBUR bloqueado, es posible escribir scripts WYLBUR Exec que ejecuten trabajos por lotes para realizar funciones que normalmente habrían requerido una cuenta TSO, completando un esqueleto de trabajo por lotes con parámetros, enviar el trabajo por lotes, recuperar el resultado y mostrarlo en la pantalla.

WYLBUR tiene algunas ventajas de seguridad sobre TSO y algunas desventajas. Las ventajas incluyen:

Las desventajas relacionadas con la seguridad incluyeron:

Gestión de datos

Wylbur tenía un formato de edición especial para los conjuntos de datos de Wylbur, que están comprimidos y tienen un número de línea y un indicador de revisión para cada línea. Además, Wylbur admite conjuntos de datos estándar FB y VB. Un usuario de Wylbur normalmente especifica un volumen predeterminado, que puede ser la palabra especial CATLG. solicitar una búsqueda en el catálogo de un conjunto de datos existente y solicitar que se catalogue un nuevo conjunto de datos. Wylbur tiene la capacidad de convertir números de línea entre conjuntos de datos de edición e IBM, ya sea como números enteros escalados o con un punto decimal explícito.

Edición

Wylbur proporciona un editor de líneas que trabaja con conjuntos de datos temporales, similar a los buffers de otros editores. En cualquier momento, uno de los conjuntos de datos temporales se designa como predeterminado. Wylbur mantiene un puntero de línea actual para cada conjunto de datos temporales. El usuario puede especificar un conjunto de datos de trabajo explícito en un comando; si lo omite, entonces el conjunto de datos temporales predeterminado se utiliza como conjunto de datos de trabajo.

La unidad de operación es un conjunto de líneas ( rango asociativo ) y las líneas individuales se identifican con un número de línea en el rango de 0,0 a 99999,999; Se pueden omitir los ceros iniciales en la parte entera y los ceros finales en la parte fraccionaria. El usuario puede especificar un número de línea de cualquiera de las siguientes maneras

  1. Número de línea absoluto: ddddd.ddd
  2. PRIMERO: primera línea en el conjunto de datos de trabajo
  3. ACTUAL: la línea actual para el conjunto de datos de trabajo
  4. ÚLTIMO: última línea del conjunto de datos de trabajo
  5. FINAL: un destino para copias, después de la última línea en el conjunto de datos de trabajo
  6. relativo: línea+ordinal o línea -ordinal.
  7. variable macro que contiene una línea

Las bibliotecas Wylbur tienen un formato no estándar, sin embargo, permite al usuario exportar a archivos del sistema operativo nativo con números de secuencia enteros e importar archivos del sistema operativo nativo con secuencia entera y reescalar el número de línea en un factor de 1000.

Un rango se puede especificar como una combinación de

  1. Un rango explícito, por ejemplo,5.3-2/7.4+3
  2. Un patrón, por ejemplo,'X' DIGITS*3
  3. Un patrón con un rango de columnas, por ejemplo,'BAL' 10/15
  4. Un ordinal, por ejemplo,3RD 'BAL' 10/15
  5. Un ordinal relativo a una coincidencia, por ejemplo,3RD AFTER 'BAL' 10/15
  6. Una secuencia de líneas que siguen a una coincidencia, por ejemplo,EVERY 3RD AFTER 'BAL' 10/15
  7. Una operación booleana, por ejemplo,'PAGE' INTERSECTION COMPLEMENT 'NUMBER'
  8. Una especificación entre paréntesis con el prefijo SET, por ejemplo,'PAGE' INTERSECTION SET (COMPLEMENT 'NUMBER')

Un patrón es similar a una expresión regular , pero la sintaxis es más cercana a la de SNOBOL que a la de Unix o Perl , no hay retroceso y solo el NIH Wylbur tiene captura de subpatrones. Un patrón puede ser:

  • 'cadena'
  • "cadena"
  • patrón patrón
  • (patrón)
  • patrón*dígitos
  • patrón*dígitos/dígitos
  • ARRIBA 'cadena'
  • patrón Y patrón
  • CUALQUIER
  • RETROCESO
  • DEBAJO de 'cadena'
  • BLANCO
  • BLANCOS
  • BOL
  • bos
  • BALA
  • ESTRELLARSE
  • DÍGITO
  • DÍGITOS
  • BCE
    Igual, coma, en blanco
  • ECBS
    Iguales, comas, espacios en blanco
  • VACÍO
  • fin de vida
  • EOS
  • HEX [#]dígitos hexadecimales
  • SOPORTE L
  • CARTA
  • MÁS BAJO
  • NO patrón
  • patrón O patrón
  • PÁRRAFO
  • PUNTUACIÓN
  • SOPORTE
  • SECCIÓN
  • ESPACIO
  • ESPACIOS
  • ALGUNA 'cadena'
  • patrón A TRAVÉS del patrón
  • INDECENTE
  • ARRIBA 'cadena'
  • SUPERIOR

Comandos de muestra

CAMBIAR 73/80 A X10 + 10 EN CADA LÍNEA DE ' ABC ' 1/3 en 1 .5-2 / 3 .7 + 2 COPIAR 'BAL' 10 / 15 A EMD CAMBIAR 73 / 80 A ' ' EN CADA LÍNEA INICIO 2 DE 'BAL' 10 / 15 CAMBIAR '(' DÍGITOS * 3 ')' A SUBSTRING 2 / 4                       

La especificación de base+increment significa que el texto de reemplazo en la primera línea es base y se incrementa en las líneas siguientes, de modo que X10+10 reemplaza el texto coincidente en la primera línea con X10 , en la segunda línea con X20 y en la tercera. línea con X30 . La especificación de SUBSTRING 2/4 significa las columnas 2-4 de la cadena coincidente; tenga en cuenta que esto es menos flexible que las capturas.

Versiones mejoradas

Varias organizaciones desarrollaron versiones mejoradas de Wylbur. Estos incluyen

SuperWylbur

SuperWylbur tiene varias mejoras con respecto al Wylbur original. Los más importantes son

  1. Compatible con terminales 3270, 3767 y NTO a través de VTAM ; Al igual que con otras versiones patentadas de Wylbur, SuperWylbur no utiliza MILTEN para terminales VTAM.
  2. Una instalación macro mejorada .
  3. Admite paneles de pantalla completa escritos por el usuario

Macroinstalación SuperWylbur

El macroprocesador agrega comandos, constantes, funciones y expresiones a Wylbur. Incluso cuando la sintaxis del comando no incluye parámetros definidos como expresiones, el usuario puede usar las formas %( expresión ) y %%( expresión ) para forzar la evaluación. Si la expresión es una función sin argumento o variable, entonces se pueden omitir los paréntesis, por ejemplo, %.TIME en lugar de %(.TIME) . Un % duplicado solicita que se cotice el valorado.

Constantes SuperWylbur

SuperWylbur tiene dos tipos de constantes:

Operadores SuperWylbur

Los operadores de SuperWylbur cuyos nombres contienen sólo caracteres especiales no necesitan estar separados por espacios. Los operadores cuyos nombres contengan un punto y letras deben estar separados por espacios. SuperWylbur cuenta con los siguientes tipos de operadores:

Operadores aritméticos SuperWylbur
Operadores relacionales SuperWylbur
Operadores lógicos SuperWylbur

Funciones macro de SuperWylbur

El nombre de una función macro comienza con un punto. Si hay argumentos, dos puntos los separan del nombre. Un punto y coma separa los argumentos sucesivos. SuperWylbur proporciona los siguientes tipos de funciones macro:

funciones aritméticas
  • .ABDOMINALES
  • .ACOS
  • .COMO EN
  • .UN BRONCEADO
  • .TECHO
  • .COS
  • .APORREAR
  • .COTAN
  • .DEG
  • .MI
  • .ERF
  • .ERFC
  • .EXP
  • .PISO
  • .FRACCIÓN
  • .GAMA
  • .LGAMMA
  • .REGISTRO
  • .LOG10
  • .PI
  • .RAD
  • .REDONDO
  • .PECADO
  • .SINH
  • .SQRT
  • .BRONCEARSE
  • .TANH
  • .TRUNCAR
funciones contables
  • .CARGAR
  • .CONNTIME
  • .TIEMPO DE CPU
  • .MEMACT
  • .MEMCPU
  • .MEMORIA
  • .MEMTIME
  • .PÁGINAS
  • .PAGESECS
  • .PAGING
  • .TERMIO
conversión de fecha y hora

Los parámetros predeterminados son la fecha u hora actual.

  • .FECHA
  • .FECHA4
  • .DÍAS
  • .DÍAS
  • .FECHA COMPLETA
  • .JATE
  • .JDATE4
  • .TIEMPO
  • .TIME100
  • .TIME24
  • .TIMEMICO
consultas ambientales

La mayoría de estos valores devueltos por comandos SET :

  • .CUENTA
  • .ALARMA
  • .AUTOLOGO
  • .ATRÁS
  • .LOTE
  • .PAPELERA
  • .CASO
  • .CONFIRMAR
  • .CONT
  • .UPC
  • .DSFORMATO
  • .EDITAR
  • .EXTDS
  • .FSASIZE
  • .LONGITUD
  • .LNDP
  • .LOGONID
  • .MAILDSN
  • .MAILVOL
  • .NOTIFICAR
  • .PUERTO
  • .PREFIJO
  • .PRIV
  • .PROYECTO
  • .PROMEM
  • .PUBPREFIX
  • .PUBVOL
  • .RECDSN
  • .RECVOL
  • .HABITACIÓN
  • .RSASIZE
  • .SCRSIZE
  • .SSASIZE
  • .SWCOUNT
  • .SWSYSPRE
  • .SYSMDSN
  • .SYSMVOL
  • .SYSNAME
  • .T3270
  • .PESTAÑAS
  • .HABLAR
  • .TERMINAL
  • .BREVE
  • .SE ACABÓ EL TIEMPO
  • .USUARIO
  • .VERSIÓN
  • .VOLUMEN
  • .ANCHO
funciones de pantalla completa
  • .CURSORPOSN
  • .CURSORVAR
  • .EDITAR
  • .EDITLINE
  • .ENTRYKEY
  • .SCRNUPDT
  • .VARUPDATE
funciones JES
funciones macro
  • .ARG
  • .CARG
  • .CMDCOUNT
  • .CMDLIMITE
  • .CMDMAX
  • .DSEXISTA
  • .DSNOMBRE
  • .INICIAL
  • .ÚLTIMO TRABAJO
  • .LATTN
  • .LERR
  • .MRETURN
  • .NATIVO
  • .XLATTN
  • .XLERR
funciones de cadena
  • .BYTE
  • .CARBONIZARSE
  • .COLUMNAS
  • .ESTRELLARSE
  • .EXTENDER
  • .FINDEX
  • .MALEFICIO
  • .HEXSTR
  • .ÍNDICE
  • .MÁS BAJO
  • .ALMOHADILLA
  • .CITA
  • .CONTRARRESTAR
  • .ROMANO
  • .STRHEX
  • .CADENA
  • .STRLENO
  • .SUBSTRING
  • .TRADUCIR
  • .RECORTAR
  • .SUPERIOR
  • .VERIFICAR
funciones del archivo de trabajo

Los argumentos de s están predeterminados al conjunto de datos de trabajo predeterminado actual.

  • .ACTUAL
  • .FIN
  • .PRIMERO
  • .ÚLTIMO
  • .LONGITUD
  • .LÍNEA
  • .LINENO
  • .MACRO
  • .MAXTEMPS
  • .NÚMERO DE TEMPERATURAS
  • .TAMAÑO
  • .TEMPORARIO
  • .TEMPSLEFT
  • .TEMPUPD
  • .TEXTO
Lista completa de funciones macro.
.ABS: n
Valor absoluto
.CUENTA
Número de cuenta del ID de inicio de sesión
.ACOS: x
Arco coseno x
.ALARMA
1 si suena un pitido en la siguiente terminal, escriba
.ARG
Argumentos pasados ​​a macro.
.ASIN: x
Arco seno x
.ATAN: x
Arco tangente x
.AUTOLOGO
Valor de SET AUTOLOG ; utilizado para la recuperación de la sesión anterior
.ATRÁS
Opción SET : ATRÁS o NO ATRÁS
.LOTE: s
Valor de las opciones SET BATCH
.PAPELERA
Valor de SET ROOM
.BYTE:( s [ ; yo ])
Convertir el byte i de s a un número entero
.CARG
Argumentos pasados ​​a un comando definido por el usuario definido con SET COMMAND
.CASO
Valor de SET CASE : SUPERIOR o ARRIBA
.TECHO: n
truncar hacia arriba
.CHAR: yo
Convierta i en un solo carácter EBCDIC
.CARGAR
Cargo de la sesión actual en dólares y centavos
.CMCOUNT
Comandos macro sin E/S de terminal
.CMDCOUNT
Comandos macro sin E/S de terminal
.CMDLIMITE
Valor de SET CMDLIMIT ; recomendación de macro máxima sin E/S de terminal
.CMDMAX
Máximo permitido en SET CMDLIMIT
.CMLIMIT
Valor de SET CMDLIMIT ; recomendación de macro máxima sin E/S de terminal
.COLUMNAS: s ; i1 [ ; i2 ]
Subcadena de s de la columna i1 a la columna i2
.CONFIRMAR
1 si CONFIGURAR CONFIRMAR
.CONNTIME
Conecta tiempo en segundos con 2 decimales
.CONT
Personaje de continuación
.COS: x
coseno x
.COSH: x
Coseno hiperbólico x
.COTAN: x
Cotangente x
.UPC
ID de CPU de SMF
.TIEMPO DE CPU
Tiempo de CPU en segundos con 2 decimales
.ACTUAL [ : s ]
Número de línea actual de los conjuntos de datos de trabajo ; -1 si no existe, -2 si está vacío
.CURPOSN
Posición del cursor en la última interrupción en el formulario fila+col/1000; -1 si no 3270
.CURSORVAR
Nombre de variable para el campo que contiene el cursor en la última interrupción
.ESTRELLARSE
Carácter de guión utilizado por HYPHENATE ('62'X)
.Fechas ]
Convierta la fecha juliana s (aa.ddd o aaaa.ddd) a mm/dd/aa
.FECHA4 [ : s ]
Convierta la fecha juliana s (aa.ddd o aaaa.ddd) a mm/dd/aaaa
.Días ]
El día de la semana ( dd/mm/aa o dd/mm/aaaa) cae en
.DÍAS [ : s ]
Días desde el 01/01/1900 al s
.DEG: x
Convertir x radianes a grados
.DSEXIST: s1 [ ; s2 )
1 si el conjunto de datos s1 existe en el volumen s2 (puede ser CATLG )
.DSFORMATO
Valor de SET DSFORMAT : TERSE o VERBOSE
.DSNOMBRE: s
Convierte s en un nombre de conjunto de datos completo
.MI
mi
.EDITAR
1 si está en un entorno de edición de pantalla completa
.EDITLINE
Número de línea en la parte superior del marco de edición, -1 si no es 3270, -2 si no hay edición de pantalla completa, -3 vacío
.END [ : s ]
Siguiente entero después del último número de línea en el conjunto de datos de trabajo s
.ENTRYKEY
Tecla que causa la última interrupción: CLEAR , CURSEL , ENTER , PA1 - PA3 , PFK1 - PRK24
.ERF: x
función de error
.ERFC: x
función de error
.EXP: x
mi ^ x
.EXTDS
1 si sessiona admite flujo de datos extendido 3270
.EXTENDER:( s1 ; i [ ; s2 ] )
Agregue tantas copias de s2 (predeterminado " ") como sea necesario a s1 para obtener la longitud i
.FETCHLIN
Líneas recuperadas por el comando FETCH
.PRIMERO [ : s ]
Número de primera línea de conjuntos de datos de trabajo ; -1 si no existe, -2 si está vacío
.PISO: yo
Truncar hacia abajo
.FRACCIÓN: n
Parte fraccionaria de n
.FSASIZE
Tamaño del área de pantalla completa 3270
.FECHA COMPLETA [ : s ]
Convertir mm/dd/aa o mm/dd/aaaa a día del mes, aaaa
.GAMMA: x
Gama( x )
.AYUDADSN
Nombre del conjunto de datos de ayuda
.AYUDA
Número de serie del volumen del conjunto de datos de ayuda o CATLG
.HEX:( i1 [ ; i2 ] )
Convierta i1 a hexadecimal , relleno con ceros a la longitud i2
.HEXSTR: s
Convertir s hexadecimales a cadena
.ÍNDICE: s1 [ ; t2 ] )
Primera columna en la que s2 aparece en s1 ; 0 si no hay coincidencia
.INICIAL: s
1 si la variable se inicializa
.ENTRADA: yo
Contenido de la línea actual del canal i ; avance del puntero de la línea actual
.JFECHA [ : s ]
Convierta s de mm/dd/aa o mm/dd/aaaa a fecha juliana aa.ddd
.JDATE4 [ : s ]
Convierta s de mm/dd/aa o mm/dd/aaaa a fecha juliana aaaa.ddd
.Tiene una duración ]
Número de última línea de los conjuntos de datos de trabajo ; -1 si no existe, -2 si está vacío
.ÚLTIMO TRABAJO
Número de trabajo del último trabajo enviado con el comando RUN
.LATTN
Número de línea de la línea que se ejecutó cuando se tomó la salida de atención en el nivel macro actual; -1 si se autoriza o no se toma ninguna salida
.LONGITUD
Valor de ESTABLECER LONGITUD
.LONGITUD: n [ ; [ s ][[ ; i ]] )
Longitud de la línea i líneas después (antes si es negativa) de la línea n del conjunto de datos de trabajo s
.LERR
Número de línea de la línea que se ejecuta cuando se realizó la salida por error en el nivel de macro actual; -1 si se autoriza o no se toma ninguna salida
.LGAMMA: x
Ln(Gamma( x ))
.LÍNEA: n [ ; [ s ][[ ; i ]] )
Línea i líneas después (antes si es negativa) línea n del conjunto de datos de trabajo s
.LINENO: n [ ; [ s ][[ ; i ]] )
Numere las líneas i después (antes si es negativa) de la línea n del conjunto de datos de trabajo s
.LNDP
Decimales del número de línea (3)
.LOG: x
ln x
.LOGONID
ID de inicio de sesión utilizado para la sesión actual
.LOG10: x
Registro 10x
.BAJO: s
Convertir s a minúsculas
.MACRO
Nombre de la macro que se está ejecutando actualmente
.MAILDSN
Nombre del conjunto de datos del conjunto de datos de correo.
.MAILVOL
Número de serie del volumen del conjunto de datos de correo o CATLG
.MAXTEMPS
Número máximo de temporales no predeterminados permitidos en la sesión
.MEMACT
Bytes accedidos durante la sesión
.MEMCPU
Bytes*segundos con 2 decimales
.MEMORIA
Almacenamiento de trabajo en uso
.MEMTIME
Almacenamiento*segundos con 2 decimales
.MRETURN
Número de línea de la línea macro que se está ejecutando actualmente
.NATIVO [ : i ]
1 si CONTROL NATIVO está vigente en el nivel macro i (corriente predeterminada)
.Siguiente yo
Puntero de línea actual para el canal i
.NOTIFICAR
1 si SET NOTIFY está vigente
.NÚMERO: s
Representación en cadena del valor de la expresión s.
.NÚMERO DE TEMPERATURAS
Número de temporales no predeterminados en uso por sesión
.PAD: n [ ; [-] i1 [[ ; i2 ]] )
Igual que .STRING pero rellena con cero en lugar de espacio
.PÁGINAS
Número de páginas de SuperWylbur en uso por sesión
.PAGESECS
Páginas*segundos
.PAGING
Número de operaciones de paginación en la sesión actual
.PI
π(Pi)
.PINDEX: s1 ; s2 )
Primera coincidencia del patrón s2 en s1 ; columna + fracción(longitud/1000); 0 si no hay coincidencia
.PUERTO
Nombre de nodo VTAM o cuu
.PREFIJO
Valor de SET PREFIX
.PRIV: s
1 si el usuario tiene privilegios
.PROYECTO
Nombre del proyecto
.PROMEM
Miembro del perfil cuando no está en recuperación
.PUBPREFIX
Prefijo para conjuntos de datos públicos ( &PUBLIC )
.PUBVOL
Número de serie del volumen de conjuntos de datos públicos o CATLG
.CITA: s1 [ ; t2 ] )
Cita s1 usando el carácter de marco s2
.RAD: x
Convertir x grados a radianes
.RECDSN
Nombre del conjunto de datos del conjunto de datos de recuperación después de cerrar sesión INTACTO
.RECVOL
Volumen sobre el que crear conjuntos de datos de recuperación o CATLG
.REVERSE: s
Invertir el orden de las cadenas s
.RJECMD
Número de comandos JES emitidos durante la sesión
.ROMAN: yo
Números romanos en minúscula para i
.HABITACIÓN
Valor de SET ROOM
.RONDA: n [ ; i ] )
Redondear n a i decimales
.RSASIZE
Tamaño del área de pantalla de reserva 3270
.SCRNUPDT
El usuario actualizó un campo del panel desde la última escritura.
.SCRSIZE
Tamaño de pantalla como filas.columnas 3 dígitos después del punto decimal) o -1 si no es 3270
.PECADO: x
seno x
.SINH: x
Seno hiperbólico x
.TAMAÑO [ : s ]
Número de líneas en conjuntos de datos de trabajo ; -1 si no existe
.SQRT: x
Raíz cuadrada de x
.SSASIZE
Tamaño del área de pantalla estándar 3270
.STRHEX: s
Convierta los primeros 127 caracteres de la cadena EBCIDIC a hexadecimal
.STRING: norte
Valor de expresión sin notación exponencial
.STRING:( norte ; i1 )
Valor de expresión con longitud i1
.STRING:( n ; i1 ; i2 )
Valor de expresión con longitud i1 e i2 decimales
.STRING:( norte ; -i1 )
Valor de expresión con longitud máxima i1
.STRING:( n ; -i1 ; i2 )
Valor de expresión con longitud máxima i1 e i2 decimales
.STRLENO: s
Número de caracteres en s
.SUBSTRING:( s ; i1 [ ; i2 ] )
Subcadena de s de la columna i1 para columnas i2
.SWCOUNT
Número de usuarios que iniciaron sesión en esta tarea de SuperWylbur
.SWSYSPRE
Prefijo del conjunto de datos del sistema
.SYSMDSN
Nombre del conjunto de datos de macros del sistema público
.SYSMVOL
Número de serie del macrovolumen del sistema público o CATLG
.SYSNAME
Nombre de la tarea de la instancia actual de SuperWylbur
.PESTAÑAS
Configuración de pestañas, separadas por comas
.HABLAR
Valor de SET TALK ( SET BREAK ): TALK o NOTALK
.TAN: x
Tangente x
.TANH: x
Tangente hiperbólica x
.TEMPORARIO
Nombre único para nuevo temporal
.TEMPSLEFT
Número de temporales no predeterminados disponibles para la sesión
.TEMPUPD [ : s ]
1 si los archivos de trabajo se han actualizado desde el último GUARDADO
.TERMINAL
Nombre del terminal o valor de .PORT
.TERMIO
Número de operaciones de E/S de terminal en la sesión actual
.BREVE
CONCRETO o VERBOSO
.TEXTO
Conjunto de datos de trabajo predeterminado actual
.TIEMPO
Tiempo de 12 horas en forma hh : mm : ss x .m.
.TIMEMICO
Microsegundos de 11 dígitos desde medianoche
.SE ACABÓ EL TIEMPO
0 si ESTABLECE NO TIEMPO DE ESPERA , 1 si ESTABLECE TIEMPO DE ESPERA , -1 si no hay privilegio de TIEMPO
.TIEMPO DE ESPERA:( i [ ; s ] )
Valor del i-ésimo intervalo de tiempo de espera para s ( USUARIO o SISTEMA )
.TIME100
Número de segundos desde medianoche con 2 decimales
.TIME24
horario de 24 horas
.TRADUCIR:( s1 ; s2 ; s3 )
Traduzca s1 usando la tabla de entrada s2 y la tabla de salida s3
.TRIM:( s1 ; s2 [ ; s3 ] )
Elimine s2 de los extremos de s1 de acuerdo con s3 : L = izquierda, R = derecha (predeterminado), B = ambos
.TRUNCAR:( n [ ; i ] )
Truncar n a i decimales
.T3270
1 si 3270
.SUPERIOR: s
Convertir s a mayúsculas
.USUARIO
Parte del usuario de la identificación de inicio de sesión
.VARUPDATE
Número de variables de pantalla del panel que el usuario actualizó desde la última escritura; -1 si no 3270
.VERIFICAR:( s1 [ ; s2 ] )
Primera posición en s1 no presente en s2 ; 0 si todos los caracteres en s1 están en s2
.VERSIÓN
Nivel SuperWylbur en formato versión.lanzamiento - PTF
.VOLUMEN
Volumen establecido para la sesión, CATLG o nulo
.ANCHO
Valor de SET ANCHO
.XLATTN
Número de línea de salida de atención para el nivel macro actual; -1 si no hay salida de atención establecida
.XLERR
Número de línea de salida de error para el nivel de macro actual; -1 si no se ha establecido ninguna salida de error

Pseudofunciones macro de SuperWylbur

Las pseudofunciones son como funciones, excepto que aparecen en el lado izquierdo de una tarea, por ejemplo, LET. foo : barra = baz .

.COLUMNAS:( v ; i1 [ ; i2 ] )
Reemplace las columnas i1 a i2 de v
.CURSOR
Establecer la variable del panel en la que colocar el cursor
.ARCHIVO: yo
Asociar un conjunto de datos de trabajo con el canal i
.LINEA:( n [ ; [ s ][[ ; i ]] )
Reemplace o inserte la línea n en el conjunto de datos de trabajo s si i se omite o es cero
Reemplace la línea i líneas después (antes si es negativa) de la línea 'n' en el conjunto de datos de trabajo 's'
.Siguiente yo
Establecer el puntero de línea actual para el canal i
.SALIDA: yo
Agregar o reemplazar la línea actual del canal i , avanzar el puntero de la línea actual
.SUBSTRING:( v ; i1 [ ; i2 ] )
Reemplace la columna i1 de v por columnas i2
.ACTUALIZACIÓN: yo
Reemplace la última línea leída del canal i

Declaraciones macro de SuperWylbur

Ver también

Notas

  1. ^ Usando su propio lenguaje de marcado

Referencias

  1. ^ Descripción funcional del sistema de tiempo compartido abc ORVYL / 370, Universidad de Stanford, 1978
  2. ^ ab Manual de referencia WYLBUR , Universidad de Stanford, 1984
  3. ^ "WYLBUR, ORVYL (MILTEN y amigos)". hercules-390.yahoogroups.narkive.com . Consultado el 9 de octubre de 2023 .
  4. ^ "WYLBUR se jubilará" Archivado el 6 de mayo de 2009 en Wayback Machine , Titan News , Centro de Tecnología de la Información, Institutos Nacionales de Salud (NIH), 7 de abril de 2009
  5. ^ "Fuente y documentación de ORVYL, WYLBUR y MILTEN".Disponible de forma gratuita como código abierto de la Universidad de Stanford bajo una licencia modelada a partir de la "Licencia Mozilla 1.1" certificada por la "Open Source Initiative (OSI)"
  6. ^ "Computación en el CERN: la era del mainframe", Chris Jones, CERN Courier , 6 de septiembre de 2004
  7. ^ Fundamentos de Wylbur . Institutos Nacionales de Salud. Noviembre de 1980.
  8. ^ Edición general de Wylbur . Institutos Nacionales de Salud. Febrero de 1984.
  9. ^ Procedimientos de comando de Wylbur . Institutos Nacionales de Salud. Diciembre de 1980.
  10. ^ Formato de documentos de Wylbur . Institutos Nacionales de Salud. Diciembre de 1980.
  11. ^ Guía de comandos de SuperWylbur® . SuperWylbur® Systems, Inc. Septiembre de 1996.
  12. ^ Preparación de documentos SuperWylbur® . SuperWylbur® Systems, Inc. Septiembre de 1996.
  13. ^ Entrada y recuperación de trabajos SuperWylbur® . SuperWylbur® Systems, Inc. Septiembre de 1996.
  14. ^ Paneles de usuario y programación de macros SuperWylbur® . SuperWylbur® Systems, Inc. Septiembre de 1996.
  15. ^ Edición de texto SuperWylbur® . SuperWylbur® Systems, Inc. Septiembre de 1996.

enlaces externos