Rexx - Tính di động
Tính di động là một khía cạnh quan trọng trong bất kỳ ngôn ngữ lập trình nào. Như đã biết, Rexx có sẵn trong nhiều hệ điều hành khác nhau như Windows và Linux. Vì vậy, cần phải đảm bảo rằng khi phát triển một chương trình trên nền tảng Windows, nó có các biện pháp phòng ngừa cần thiết nếu các chương trình tương tự chạy trên nền tảng Linux.
Rexx có khả năng chạy các lệnh cấp hệ thống. Có những lệnh có thể được sử dụng để hiểu hệ điều hành mà nó đang chạy trên đó là gì. Dựa trên kết quả đầu ra, nó có thể thực hiện các hành động thích hợp để xem đâu là các lệnh có thể chạy trên hệ điều hành này.
Thí dụ
Ví dụ sau đây cho thấy cách các hàm phân tích cú pháp được sử dụng để lấy thông tin chi tiết về hệ điều hành mà chương trình đang chạy.
/* 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
Đầu ra sẽ khác nhau tùy thuộc vào hệ điều hành. Dưới đây là một đầu ra mẫu.
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