Rexx - портативность

Переносимость - важный аспект любого языка программирования. Как известно, Rexx доступен в различных операционных системах, таких как Windows и Linux. Таким образом, при разработке программы на платформе Windows необходимо обеспечить принятие необходимых мер предосторожности, если те же программы работают на платформе Linux.

Rexx имеет возможность запускать команды системного уровня. Есть команды, которые можно использовать, чтобы понять, в какой операционной системе он запущен. На основе выходных данных он может предпринять соответствующие действия, чтобы увидеть, какие команды можно запускать в этой операционной системе.

пример

В следующем примере показано, как функции синтаксического анализа используются для получения сведений об операционной системе, в которой выполняется программа.

/* 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

Результат будет зависеть от операционной системы. Ниже приведен пример вывода.

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