Restructured Extended Executor (Rexx) est un langage de programmation, inventé par Mike Cowlishaw, chercheur d'IBM. Il s'appelait initialement REX (Revised EXecutor), mais le sigle était déjà déposé. Langage interprété procédural, il est un des seuls héritiers du PL/I, ou du moins de sa syntaxe.

Restructured Extended Executor
Date de première version 1979Voir et modifier les données sur Wikidata
Dernière version ANSI X3.274 (1996)Voir et modifier les données sur Wikidata
Influencé par PL/I
Algol
CMS EXEC (en)
EXEC 2 (en)Voir et modifier les données sur Wikidata
Extension de fichier cmd, bat, exec, rexx, rex et EXECVoir et modifier les données sur Wikidata

C'est un langage de script commun à de nombreux systèmes IBM : les mainframes, en particulier VM/CMS où il succédait à EXEC et EXEC 2', puis plus tard MVS/ TSO et z/OS. Il était disponible aussi sous OS/2.

Il dispose d'une version open source, Regina REXX, fournie dans les dépôts de plusieurs distributions Linux. Les interprètes REXX, tant commerciaux qu'open source, sont disponibles sur une vaste gamme de plates-formes et des compilateurs sont disponibles pour toutes les unités centrales IBM.

Sa syntaxe a été conçue dans un but essentiel de faciliter l’apprentissage et la relecture du code.

Voici par exemple un programme REXX (les tabulations ne sont là que pour la lisibilité du source) :

 do i=1 to 5
    if i=3 then say "Trois"
           else say i
 end

Son exécution donne

1
2
Trois
4
5

Autre exemple de programme REXX :

 liste_mots="un deux trois quatre cinq"     /* liste des 5 premiers chiffres */
 do i=1 to words(liste_mots)                /* boucler pour chacun des mots de liste_mots */ 
   say word(liste_mots,i)                   /* Afficher le "i"eme mot  */ 
 end                                        /* fin de la boucle */ 

qui peut s'écrire également :

 liste_mots="un deux trois quatre cinq";do i=1 to words(liste_mots);say word(liste_mots,i);end

Son exécution donne

un
deux
trois
quatre
cinq

Principes

modifier
  1. syntaxe très proche du PL/I ;
  2. usage systématique des minuscules (lecture 30 % plus rapide, selon son créateur Mike Cowlishaw) ;
  3. caractère de fin de ligne inutile (sauf quand on veut séparer plusieurs instructions sur une même ligne) ;
  4. pas de mots réservés ;
  5. pas de {} ni de []. L'indexation se fait par un point qualifiant qui permet l'indexation numérique ou par chaîne de caractères (hash). Exemples : service.3095 ou anniversaire.patron ;
  6. pas de pointeurs ;
  7. peu de parenthèses requises ;
  8. grammaire intuitive (voir l'exemple ci-dessus) ;
  9. opérations conditionnelles standards (do i=…, do forever, while / do et do until) ;
  10. système de gestion d'exceptions d'une utilisation très simple grâce à l'activation signal on ….
  11. l'instruction parse permet la décomposition de chaînes structurées en leurs éléments de base de façon plus lisible (mais aussi moins concise) que les expressions rationnelles.

Il existe un compilateur Rexx qui permet d'obtenir à la fois des scripts plus stables dans le cas d'une gestion par version, une exécution plus rapide, et une certaine protection contre le vol ou les modifications intempestives du code source.

Dérivés

modifier

REXX a donné deux évolutions différentes, mais restées peu utilisées car incompatibles entre elles :

  • NetREXX, orienté réseau ;
  • Object REXX, orienté objet.

Regina a davantage de succès : c'est une version de REXX en logiciel libre, également utilisée pour programmer des macros destinées à l'éditeur plein écran The Hessling Editor (THE), équivalent de l'éditeur XEDIT de VM/370.

Notes et références

modifier

Voir aussi

modifier

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Liste de langages de programmation

Epigram Erlang Escapade Escher Esterel Etoys Euclid Euler Euphoria CMS EXEC (en) EXEC 2 (en) Extends F F# Factor Falcon False Fan Fancy Fantom (en) FAUST Felix

Exécration

En théologie, l'exécration exprime deux actions différentes, celle de la réduction à un usage non religieux avec perte de la qualité de sacré, et celle

XEDIT (IBM)

innovations, dont la fourniture en standard de macros écrites au départ en EXEC 2, puis en REXX. Parmi elles, SORT, permettant de trier alphabétiquement un

Super Kids

Wendt (VFB : Martin Spinhayer) : Corporate Exec #1 (Mr. Montgomery en VF) Gina La Piana  : Corporate Exec #2 Katherine Disque (VFB : Nathalie Hons) : Mademoiselle

GNU APL

apl_exec("⎕←2 3⍴⍳6"); } Ce programme, nommé par exemple essai.c se compilera avec cc essai.c -lapl ... et donnera ceci à l'exécution : ./essai 1 2 3 4

Liste des plus grandes entreprises pharmaceutiques

List of largest biomedical companies by revenue (en). Les données de PharmExec sur les 50 plus grosses sociétés de pharmacie mondiales. Autres laboratoires

Minari

(consulté le 28 mai 2026) (en) Rebecca Sun, « Steven Yeun to Star in and Exec Produce A24 Immigrant Drama (Exclusive) », The Hollywood Reporter,‎ 11 juillet

Ar tonelico: Melody of Elemia

Ishibashi Hymns EXEC_PURGER/.#AURICA extracting par Haruka Shimotsuki EXEC_LINKER/. par Haruka Shimotsuki EXEC_RE=NATION/. par Haruka Shimotsuki EXEC_SUSPEND/