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.
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.
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.
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.
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.