2. Mise en oeuvre dans les environnements


2.1 DOS - WinX

2.2 Linux

2.3 OS/2

2.4 VM / CMS

2.5 MVS / TSO


2.1 DOS - WinX

Bien que l'on parlera indifféremment de DOS ou WinX (les différentes versions de MS Windows) deux types d'interpréteurs REXX existent, fonctionnant soit sous l'un, soit sous l'autre système dans une fenêtre de commandes. Les noms des fichiers programmes, écrits à l'aide d'un simple éditeur de textes, ont l'extension ".REX" ou ".CMD".
L'interpréteur est chargé en résident, sinon il doit être invoqué pour exécuter un programme. Deux modes d'appel sous WinX,
- par clics sur l'icône du programme, sans passage de paramètres, à condition que l'interpréteur "REXX.EXE" (ou tout autre nom) ait été associé au type de fichier choisi (par ex. ".REX"),
- dans une fenêtre de commandes (spécifier les chemins complets si non définis dans le "PATH") :

REXX MONPROG.REX paramètres

Les sous programmes éventuels sont appelés sans relancer l'interpréteur, comme on verra par la suite.

2.2 Linux

Outre l'appel en lançant l'interpréteur comme pour WinX on utilise une particularité des systèmes Unix, la première ligne d'un script précise l'interpréteur de commandes (shell) concerné (rendre le fichier exécutable par la commande "chmod +x") :

#!/usr/bin/rexx
...

Les sous programmes ne doivent pas contenir cette ligne sinon un autre processus est ouvert.

2.3 OS/2

OS/2 (IBM) a mis à disposition un interpréteur REXX résident, en parallèle au langage batch similaire à celui du DOS. Les noms des fichiers programmes ont pour extension ".CMD". Ce système d'exploitation étant malheureusement tombé en désuétude les exemples seront développés uniquement pour WinX par la suite. Ils sont facilement transposables, les commandes OS/2 sont très proches de celles de DOS.

2.4 VM / CMS

VM et MVS ci-dessous sont les deux environnements des grands systèmes IBM.
Les programmes REXX sont en fichiers de format variable (recfm V) , de type (file type) "EXEC". L'interpréteur étant résident ils sont invoqués simplement par leur nom (file name) suivi éventuellement de données passées en paramètres.
Ces programmes peuvent aussi être compilés, option intéressante pour des applications lourdes. Le langage REXX est utilisé comme langage de procédure par d'autres logiciels : XEDIT, QMF... Il s'exécute aussi dans l'environnement ISPF (Interactive System Productivity Facility), permettant le développement d'applications complètes avec écrans interactifs.

2.5 MVS / TSO

Cette version est quasiment identique à la précédente. Les programmes REXX sont écrits en général dans des fichiers partitionnés (respecter le format défini par l'administrateur du système afin de pouvoir concaténer les bibliothèques). Ils sont appelés en interactif de façon explicite, l'interpréteur étant résident :

EXEC 'F072610.APPLIC2.EXEC(MONPROG)' paramètres EXEC

ou implicite, simplement par le nom du membre si la bibliothèque a été préalablement allouée en "SYSEXEC". Le signe pourcent précise au moniteur que c'est une commande externe :

%MONPROG paramètres

De même que sous VM le langage est étendu à certains sous systèmes et les programmes fonctionnent dans l'environnement ISPF.
Les programmes REXX s'exécutent également en arrière plan :

//F072610T JOB (infos comptables),MSGCLASS=H,NOTIFY=&SYSUID
//STEP01   EXEC PGM=IKJEFT01,DYNAMNBR=160,REGION=6000K
//SYSEXEC  DD DSN=F072610.APPLIC2.EXEC,DISP=SHR
//SYSTSIN  DD *
  %MONPROG paramètres
/*
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//


© G. Navarre, 2003 - 2006. Màj 10/04/2021.

retour introduction