CLIST

CLIST (Command LIST) (pronunciado «C-LIST») es un lenguaje de programación procedural para TSO en sistemas MVS. Se originó en OS/360 Release 20 y ha asumido un papel secundario desde la disponibilidad de REXX en TSO/E versión 2.

En su forma básica, un programa CLIST (o «CLIST» para abreviar) puede tomar la forma de una simple lista de comandos para ser ejecutados en estricta secuencia (como un archivo batch de DOS (archivo *.bat). Sin embargo, CLIST también incluye lógica de control If-Then-Else, así como construcciones de bucle (loops).

CLIST es un lenguaje de programación interpretado. Es decir, el equipo debe traducir un CLIST cada vez que se ejecuta el programa. Por lo tanto los programas en CLIST tienden a ser más lentos que los programas escritos en lenguajes compilados como COBOL, FORTRAN o PL/1. (Un programa escrito en un lenguaje compilado se traduce sola vez para crear un «módulo de carga» o ejecutable.)

CLIST puede leer/escribir archivos MVS y leer/escribir desde y hacia una terminal TSO. Puede leer los parámetros de llamadas y también incluye una función para guardar las variables globales y pasarlas entre CLISTs. Un CLIST también puede llamar a un programa de aplicación MVS (escrito en COBOL o PL/1, por ejemplo). CLISTs se pueden ejecutar en segundo plano (mediante la ejecución del JCL que ejecuta el programa de control TSO (IKJEFT01)). Las pantallas TSO I/O y menús que usan servicios de diálogo ISPF pueden visualizarse en CLISTs.

Comparar la función de CLIST con la proporcionada por REXX.

Ejemplos de programas:

PROC 0
WRITE HELLO WORLD!

Añadiendo lógica If-Then-Else:

  /********************************************************************/
  /*  MULTI-LINGUAL "HELLO WORLD" PROGRAM.                            */
  /*                                                                  */
  /*  THIS CLIST, STORED AS USERID.TSO.CLIST(TEST), CAN BE INVOKED    */
  /*  FROM THE ISPF COMMAND LINE AS SHOWN IN THE FOLLOWING EXAMPLE:   */
  /*                                                                  */
  /*     COMMAND ===> TSO TEST SPANISH                                */
  /*                                                                  */
  /********************************************************************/
  PROC 1 LANGUAGE
    IF &LANGUAGE = SPANISH THEN +
       WRITE HOLA, MUNDO
    ELSE IF &LANGUAGE = FRENCH THEN +
       WRITE BONJOUR, MONDE
    ELSE +
       WRITE HELLO, WORLD
  EXIT

Nota: Aquí PROC es tratado como una rutina separada.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.