Введение
Реализация языка REXX для компьютеров Amiga. ARexx – это реализация языка Rexx для Amiga, разработанная в 1987 году Уильямом С. Хоуэсом и обладающая рядом специфических функций, расширяющих стандартные возможности REXX. Как и большинство реализаций REXX, ARexx является интерпретируемым языком. Программы, написанные для ARexx, называются "скриптами" или "макросами"; некоторые программы предоставляют возможность запускать скрипты ARexx в своем основном интерфейсе как макросы. ARexx может легко взаимодействовать со сторонним программным обеспечением, поддерживающим "порт ARexx". Любое приложение или скрипт Amiga может определить набор команд и функций, к которым может обращаться ARexx, тем самым предоставляя возможности этого программного обеспечения скриптам, написанным на ARexx. ARexx позволяет отправлять команды и функции в несколько приложений из одного скрипта, что дает возможность комбинировать функции из разных программ. Например, скрипт ARexx может извлекать данные из базы данных, вставлять их в электронную таблицу для вычислений, а затем вставлять таблицы и графики, основанные на результатах, в документ текстового редактора.
ARexx is an implementation of the Rexx language for the Amiga, written in 1987 by William S. Hawes, with a number of Amiga specific features beyond standard REXX facilities. Like most REXX implementations, ARexx is an interpreted language. Programs written for ARexx are called "scripts", or "macros"; several programs offer the ability to run ARexx scripts in their main interface as macros. ARexx can easily communicate with third party software that implements an "ARexx port". Any Amiga application or script can define a set of commands and functions for ARexx to address, thus making the capabilities of the software available to the scripts written in ARexx. ARexx can direct commands and functions to several applications from the same script, thus offering the opportunity to mix and match functions from the different programs. For example, an ARexx script could extract data from a database, insert the data into a spreadsheet to perform calculations on it, then insert tables and charts based on the results into a word processor document.
Характеристики
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 для сравнения файлов, затем находит все дубликаты в наборе файлов и возвращает результаты, выделяя их другим цветом.