Введение

Реализация языка REXX для компьютеров Amiga. ARexx – это реализация языка Rexx для Amiga, разработанная в 1987 году Уильямом С. Хоуэсом и обладающая рядом специфических функций, расширяющих стандартные возможности REXX. Как и большинство реализаций REXX, ARexx является интерпретируемым языком. Программы, написанные для ARexx, называются "скриптами" или "макросами"; некоторые программы предоставляют возможность запускать скрипты ARexx в своем основном интерфейсе как макросы. ARexx может легко взаимодействовать со сторонним программным обеспечением, поддерживающим "порт ARexx". Любое приложение или скрипт Amiga может определить набор команд и функций, к которым может обращаться ARexx, тем самым предоставляя возможности этого программного обеспечения скриптам, написанным на ARexx. ARexx позволяет отправлять команды и функции в несколько приложений из одного скрипта, что дает возможность комбинировать функции из разных программ. Например, скрипт ARexx может извлекать данные из базы данных, вставлять их в электронную таблицу для вычислений, а затем вставлять таблицы и графики, основанные на результатах, в документ текстового редактора.

Характеристики

ARexx – это язык программирования, который может взаимодействовать с другими приложениями. Например, с помощью ARexx можно запросить данные из приложения базы данных и отправить их в приложение для работы с электронными таблицами. Для обеспечения этой возможности приложение должно быть "совместимым с ARexx", то есть способным принимать команды от ARexx и выполнять их. Программа базы данных может иметь команды для поиска, извлечения и сохранения данных – база данных MicroFiche Filer обладает обширным набором команд ARexx. Текстовый редактор может иметь команды ARexx, соответствующие его набору команд редактирования – редактор Textra, поставляемый с JForth, можно использовать для создания интегрированной среды программирования. Мультимедийная программа AmigaVision также имеет встроенный порт ARexx и может управлять другими программами, используя ARexx. ARexx может повысить производительность компьютера, объединяя возможности различных программ. Благодаря популярности автономного пакета ARexx, Commodore включил его в AmigaDOS Release 2. Как и все реализации REXX, ARexx использует безтиповое представление данных. Другие языки программирования различают целые числа, числа с плавающей точкой, строки, символы, векторы и т. д. В отличие от них, системы REXX рассматривают все данные как последовательности символов, что упрощает написание выражений и алгоритмов. Как это часто бывает в языках с динамической областью видимости, переменные не объявляются перед использованием, они создаются при первом обращении к ним. Скрипты ARexx используют систему обработки ошибок, которая отслеживает выполнение и реагирует соответствующим образом. Программист может приостанавливать и возобновлять выполнение программы по мере необходимости. Набор команд ARexx прост, но помимо команд он включает функции библиотеки Amiga (rexxsyslib.library). Также легко добавлять другие библиотеки или отдельные функции. Скрипты ARexx также могут вызываться как функции из других скриптов ARexx. Любая программа Amiga, имеющая встроенный порт ARexx, может делиться своими функциями со скриптами ARexx.

Избегание повторных процедур

EqFiles.rexx – хорошо известный пример простого скрипта ARexx, написанного для автоматизации повторяющихся и утомительных задач. Этот скрипт использует программу ALeXcompare для сравнения файлов, затем находит все дубликаты в наборе файлов и возвращает результаты, выделяя их другим цветом.