CMS EXEC , o EXEC , es un lenguaje de secuencias de comandos de computadora, de control de procedimientos de comando interpretado, utilizado por el procesador CMS EXEC suministrado con el sistema operativo IBM Virtual Machine / Conversational Monitor System ( VM / CMS ).
EXEC fue escrito en 1966 por Stuart Madnick en el MIT sobre el modelo de CTSS RUNCOM . Originalmente llamó a este procesador COMMAND, y luego pasó a llamarse EXEC. [1]
CMS EXEC ha sido reemplazado por EXEC 2 y REXX . Los tres, CMS EXEC, EXEC 2 y REXX , continúan siendo compatibles con el producto IBM CMS .
El lenguaje EXEC
- EXEC procesa líneas de hasta 130 caracteres cuando se ingresan desde un terminal, o 72 caracteres cuando se leen desde un archivo.
- Una etiqueta que consta de un guión seguido de hasta siete caracteres alfanuméricos puede anteponer un comando CMS o una declaración de control EXEC.
- El intérprete analiza los comandos en tokens delimitados por espacios en blanco de hasta ocho caracteres cada uno.
- Las variables constan de un ampersand seguido de hasta siete caracteres alfanuméricos. Las variables pueden ser variables definidas por el usuario o variables EXEC predefinidas ("especiales").
- A medida que se lee cada línea, se escanean los tokens. Si contienen variables EXEC, las variables se reemplazan por su valor.
- Comentarios . Los comentarios en los archivos EXEC comienzan con un asterisco en la columna uno. Todas las demás declaraciones son declaraciones ejecutables .
- Declaraciones nulas . Una declaración nula no contiene elementos de datos.
- Comandos CMS . Si el primer elemento de datos en una línea no es un asterisco o un ampers y el procesador EXEC considera que la línea es un comando de CMS y lo pasa a CMS para su ejecución inmediata.
- Declaraciones de cesión . Una instrucción de asignación asigna un valor a una variable EXEC. Tiene la forma
& variable =
ón-aritmética> - Declaraciones de control . Se supone que una declaración en la que el primer elemento de datos es una palabra de control EXEC y el segundo no es un signo igual es una declaración de control.
- Palabras de control EXEC :
- & ARGS: permite al usuario redefinir los argumentos de los comandos.
- & BEGPUNCH: encabeza una serie de líneas que se colocarán en la cola del golpe virtual del usuario.
- & BEGSTACK: encabeza una serie de líneas que se colocarán en la pila de entrada de la consola del usuario.
- & BEGTYPE: encabeza una serie de líneas que se escribirán en el terminal del usuario.
- & END: marca el final de las líneas procesadas por & BEGPUNCH, & BEGSTACK o & BEGTYPE.
- & CONTINUE - le dice al intérprete que procese la siguiente línea en el archivo.
- & CONTROL: controla el formato en el que se muestran los mensajes.
- & ERROR: le dice al intérprete qué hacer si se detecta un error.
- & EXIT: sale del archivo EXEC actual y, opcionalmente, establece un código de retorno.
- & GOTO: se ramifica a otra ubicación en el archivo EXEC actual. La ubicación puede ser TOP para el comienzo del archivo, una etiqueta o un número de línea.
- & IF permite la ejecución condicional de declaraciones.
- & LOOP: encabeza un grupo de declaraciones que se ejecutarán varias veces o hasta que se cumpla una condición específica.
- & PUNCH: envía una cadena de tokens al puñetazo virtual del usuario. Cada declaración & PUNCH genera una imagen de tarjeta, rellenada o truncada si es necesario.
- & READ: lee una o más líneas del terminal del usuario .
- & SKIP: omite (ignora) un número específico de líneas.
- & SPACE: escribe un número específico de líneas en blanco en el terminal del usuario.
- & STACK: coloca una línea en la pila de entrada del usuario. La línea se construye a partir de tokens como para & PUNCH.
- & HORA: especifica qué información de tiempo se debe escribir en el terminal del usuario después de la ejecución de cada comando de CMS.
- & TYPE escribe una línea en el terminal del usuario. La línea se construye a partir de tokens como para & PUNCH.
- Funciones integradas . El intérprete EXEC proporciona algunas funciones "integradas" o predefinidas:
- & CONCAT concatena una cadena de tokens.
- & DATATYPE examina un token y determina si es numérico o alfabético.
- & LENGTH devuelve la longitud de un token.
- & LITERAL evita la sustitución de variables dentro de un token.
- & SUBSTR extrae los caracteres seleccionados de un token.
Código de muestra
PROFILE EXEC es un EXEC que se ejecuta automáticamente cuando un usuario inicia sesión para personalizar su entorno. Un EXEC de PERFIL simple podría tener el siguiente aspecto:
* El siguiente código emite comandos CMS para configurar* el carácter "blip" para asterisco y solicitud* el formato "corto" para los mensajes de sistema listo.Y CONTROL APAGADOCONFIGURAR BLIP *CONFIGURAR RDYMSG SMSG
Lenguajes de control de procedimiento de comando de CMS relacionados
Referencias
- ^ Varian, Melinda. "VM Y LA COMUNIDAD VM: pasado, presente y futuro" (PDF) . Consultado el 9 de marzo de 2012 .
enlaces externos
- "El procesador CMS EXEC". Guía del usuario de CMS (1ª ed.). Septiembre de 2004. Número de publicación de IBM SC24-6079-00.
- "REX - Un lenguaje de programación de comandos" . COMPARTIR 56 . 18 de febrero de 1981. Archivado desde el original el 21 de febrero de 2009.
- IBM Virtual Machine Facility / 370: EXEC User's Guide (PDF) (2.a ed.). Abril de 1975. Número de publicación de IBM GC20-1812-1. Archivado desde el original (PDF) el 14 de agosto de 2011 . Consultado el 14 de marzo de 2012 .