Rexx - Portabilité
La portabilité est un aspect important dans tout langage de programmation. Comme on le sait, Rexx est disponible dans une variété de systèmes d'exploitation tels que Windows et Linux. Il faut donc s'assurer que lorsqu'on développe un programme sur la plateforme Windows, on prend les précautions nécessaires si les mêmes programmes s'exécutent sur une plateforme Linux.
Rexx a la capacité d'exécuter des commandes au niveau du système. Il existe des commandes qui peuvent être utilisées pour comprendre quel est le système d'exploitation sur lequel il s'exécute. Sur la base de la sortie, il peut alors prendre les mesures appropriées pour voir quelles sont les commandes qui peuvent être exécutées sur ce système d'exploitation.
Exemple
L'exemple suivant montre comment les fonctions d'analyse sont utilisées pour obtenir les détails du système d'exploitation sur lequel le programme s'exécute.
/* Main program */
parse version language level date month year.
parse source system invocation filename.
language = translate(language)
if pos('REGINA',language) = 0 then
say 'Error , the default interpreter is not Regina' language
say 'The Interpreter version/release date is:' date month year
say 'The Language level is: ' level say 'The Operating System is'
select
when system = 'WIN32' then
'ver'
when system = 'UNIX' | system = 'LINUX' then
'uname -a'
otherwise
say 'Unknown System:' system
end
if rc <> 0 then
say 'Error :' rc
La sortie varie en fonction du système d'exploitation. Un exemple de sortie est donné ci-dessous.
The Interpreter version/release date: 5 Apr 2015
The Language level is: 5.00
The Operating System is
Unknown System: WIN64
Bad return code: RC