CLIST
   HOME

TheInfoList



OR:

CLIST (Command List) (pronounced "C-List") is a procedural
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
for TSO in MVS systems. It originated in OS/360 Release 20 and has assumed a secondary role since the availability of
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. P ...
in TSO/E Version 2. The term CLIST is also used for command lists written by users of NetView. In its basic form, a CLIST program (or "CLIST" for short) can take the form of a simple list of commands to be executed in strict sequence (like a DOS batch file (*.bat) file). However, CLIST also features If-Then-Else logic as well as loop constructs. CLIST is an
interpreted language In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An interprete ...
. That is, the computer must translate a CLIST every time the program is executed. CLISTs therefore tend to be slower than programs written in
compiled language A compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation ...
s such as
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
, FORTRAN, or PL/1. (A program written in a compiled language is translated once to create a "load module" or
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data fil ...
.) CLIST can read/write MVS files and read/write from/to a TSO terminal. It can read parameters from the caller and also features a function to hold global variables and pass them between CLISTs. A CLIST can also call an MVS application program (written in
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
or
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
, for example). CLISTs can be run in background (by running JCL which executes the TSO control program (IKJEFT01)). TSO I/O screens and menus using ISPF dialog services can be displayed by CLISTs. Compare the function of CLIST with that provided by
REXX Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. P ...
.


Example programs

PROC 0 WRITE HELLO WORLD! Adding If-Then-Else logic: /********************************************************************/ /* 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


See also

*
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. P ...


Footnotes


References

IBM mainframe operating systems Procedural programming languages Command shells Text-oriented programming languages Scripting languages {{mainframe-compu-stub