REXX
Ця стаття містить перелік джерел, але походження окремих тверджень у ній залишається незрозумілим через практично повну відсутність виносок. |
REXX або Rexx (REstructured eXtended eXecutor, вимовляється «рекс») — інтерпретована мова програмування, розроблена компанією IBM, використовувалась IBM в системі VM. Існують як комерційні, так і вільно поширювані реалізації цієї мови. Розроблений як розширення мови керування завданнями EXEC 2.
REXX | |
---|---|
Парадигма | Парадигма програмування, Процедурне програмування, Структурне програмування |
Дата появи | 1979 |
Творці | Mike Cowlishaw |
Розробник | IBM і Mike Cowlishawd |
Останній реліз | |
Система типізації | динамічна типізація[d] |
Під впливом від | NetRexx, Object REXX |
Звичайні розширення файлів | .cmd , .bat , .exec , .rexx , .rex або .EXEC |
Вебсайт | www-01.ibm.com/software/awdtools/rexx/ |
Пік свого поширення REXX отримав в середині 1990-х разом з популярністю операційної системи OS/2. Це пов'язано з тим, що інтерпретатор REXX використовувався в цій системі як командний інтерпретатор (аналогічно bash в GNU).
REXX не прив'язаний до конкретної частини системи і може використовуватися будь-якою програмою як «вбудована» мова, при цьому кожна з програм може додавати в REXX-програму свої функції й оператори, які будуть доступні тільки при роботі REXX'а в контексті цієї програми. Наприклад, електронні таблиці mesa/2 додають в REXX команду, яка дозволяє зчитувати і записувати вміст комірок таблиць тощо.
Спочатку REXX не був об'єктно-орієнтованим, хоча тепер існують і об'єктно-орієнтовані версії мови (наприклад, Open Object REXX). Синтаксично REXX нагадує спрощений PL/I. Змінні в REXX не типізовані і не вимагають декларації.
Традиційними властивостями REXX є зручний доступ до команд операційної системи, потужні операції з рядками, спрощена обробка помилок, вбудований відладчик та оператор PARSE для розбору рядків.
Посилання
ред.- IBM REXX Family [Архівовано 14 березня 2013 у Wayback Machine.]
- Regina Rexx Interpreter [Архівовано 30 липня 2017 у Wayback Machine.]