De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

ARexx es una implementación del lenguaje Rexx para Amiga , escrito en 1987 por William S. Hawes, con una serie de características específicas de Amiga más allá de las instalaciones estándar de REXX. Como la mayoría de las implementaciones de REXX, ARexx es un lenguaje interpretado . Los programas escritos para ARexx se denominan " scripts " o " macros "; varios programas ofrecen la capacidad de ejecutar scripts ARexx en su interfaz principal como macros.

ARexx puede comunicarse fácilmente con software de terceros que implementa un "puerto ARexx". Cualquier aplicación o script de Amiga [1] puede definir un conjunto de comandos y funciones para que ARexx los dirija, haciendo así que las capacidades del software estén disponibles para los scripts escritos en ARexx.

ARexx puede dirigir comandos y funciones a varias aplicaciones desde el mismo script, ofreciendo así la oportunidad de mezclar y combinar funciones de los diferentes programas. Por ejemplo, una secuencia de comandos ARexx podría extraer datos de una base de datos , insertar los datos en una hoja de cálculo para realizar cálculos y luego insertar tablas y gráficos basados ​​en los resultados en un documento de procesador de texto .

Historia [ editar ]

ARexx fue creado por primera vez en 1987, desarrollado para Amiga por William S. Hawes . Se basa en el lenguaje REXX descrito por Mike Cowlishaw en el libro The REXX Language: A Practical Approach to Programming . [2] Commodore incluyó ARexx con AmigaOS 2.0 en 1990, y se ha incluido en todas las versiones posteriores de AmigaOS. Esta última versión de ARexx sigue de cerca el lenguaje oficial REXX; Hawes participó más tarde en la redacción del estándar ANSI para REXX.

ARexx está escrito en 68000 Assembly y, por lo tanto, no puede funcionar a toda velocidad con las nuevas CPU PPC, no se ha reescrito una versión de ARexx para ellos y aún falta en MorphOS 3.0. William Hawes ya no participa en el desarrollo de programas de Amiga y ninguna otra empresa relacionada con Amiga está financiando nuevas versiones de ARexx. No obstante este hecho, se sigue utilizando la versión existente de ARexx, aunque no se distribuye con MorphOS.

Del manual de ARexx:

ARexx fue desarrollado en una computadora Amiga 1000 con 512k bytes de
memoria y dos unidades de disquete. El prototipo del lenguaje fue
desarrollado en C usando Lattice C , y la versión de producción fue escrita
en lenguaje ensamblador usando el ensamblador Metacomco . La documentación
se creó usando el editor TxEd y se configuró en TeX usando AmigaTeX .
Este es un producto 100% Amiga. [3]

Características [ editar ]

ARexx es un lenguaje de programación que puede comunicarse con otras aplicaciones. Usando ARexx, por ejemplo, uno podría solicitar datos de una aplicación de base de datos y enviarlos a una aplicación de hoja de cálculo. Para admitir esta función, una aplicación debe ser "compatible con ARexx" al poder recibir comandos de ARexx y ejecutarlos. Un programa de base de datos puede tener comandos para buscar, recuperar y guardar datos; la base de datos de MicroFiche Filer tiene un extenso conjunto de comandos ARexx. Un editor de texto puede tener comandos ARexx correspondientes a su conjunto de comandos de edición; el editor Textra suministrado con JForth se puede utilizar para proporcionar un entorno de programación integrado. El programa de presentación multimedia AmigaVision también tiene un puerto ARexx integrado y puede controlar otros programas usando ARexx.

ARexx puede aumentar la potencia de una computadora combinando las capacidades de varios programas. Debido a la popularidad de un paquete ARexx independiente, Commodore lo incluyó con la versión 2 de AmigaDOS .

Al igual que todas las implementaciones REXX, ARexx utiliza sin tipo de representación de datos. Otros lenguajes de programación hacen distinciones entre números enteros, números de punto, cadenas, caracteres, vectores, flotante , etc . Por el contrario, los sistemas REXX tratan todos los datos como cadenas de caracteres, lo que simplifica la escritura de expresiones y algoritmos. Como suele ser el caso en los lenguajes de ámbito dinámico, las variables no se declaran antes de usarlas, aparecen en su primer uso.

Los scripts ARexx se benefician de un sistema de manejo de errores que monitorea la ejecución y responde en consecuencia. El programador puede optar por suspender y reanudar la ejecución del programa según sea necesario.

El conjunto de comandos ARexx es simple, pero además de los comandos están las funciones de su biblioteca de referencia Amiga (rexxsyslib.library). También es fácil agregar otras bibliotecas o funciones individuales. Los scripts ARexx también se pueden invocar como funciones de otros scripts ARexx. Cualquier programa Amiga que tenga un puerto ARexx integrado puede compartir sus funciones con los scripts ARexx.

Ejemplos de soluciones ARexx para problemas comunes [ editar ]

Implementación de nuevas funciones y capacidades a través de scripts [ editar ]

Si el usuario final está utilizando un programa que crea animaciones uniendo varios archivos de imagen de mapa de bits, pero que carece de capacidades de procesamiento de imágenes, podría escribir un script ARexx que realice estas acciones:

  1. ARexx ubica los archivos de imagen en sus directorios
  2. ARexx carga la primera imagen
  3. ARexx carga el programa de pintura
  4. La imagen se carga en el programa de pintura que realiza modificaciones en el archivo.
  5. La imagen modificada se almacena en otro directorio.
  6. ARexx repite el procedimiento en cualquier imagen del directorio
  7. Se cierra el programa de pintura y se carga el programa de animación.
  8. La animación está construida
  9. La animación se guarda en su directorio.
  10. El programa de animación está cerrado.

Evitar procedimientos repetitivos [ editar ]

EqFiles.rexx [4] es un ejemplo bien conocido de un script ARexx simple escrito para automatizar procedimientos repetitivos y aburridos. Este script usa el programa ALeXcompare [5] para comparar archivos, y luego encuentra todos los duplicados en un conjunto de archivos y devuelve la salida resaltando los resultados en un color diferente.

Expandir las capacidades de AmigaOS [ editar ]

Una de las principales características de ARexx es el hecho de que podría expandir las capacidades de AmigaOS agregando algunos procedimientos de los que carecía el sistema operativo. Por ejemplo, se podría escribir un programa ARexx simple para imprimir un mensaje de advertencia en la pantalla del monitor, o reproducir una señal de alerta de audio si un determinado programa Amiga se detiene, falla o ha terminado su trabajo programado.

La siguiente secuencia de comandos es una secuencia de comandos ARexx mínima que muestra advertencias según los eventos que tienen lugar.

 / * Alarm.rexx * /   Evento ARG  SI  evento = 0 ENTONCES SALIR     SI  evento = 1 ENTONCES DIGA "El programa ha finalizado inesperadamente"      SI  evento = 2 ENTONCES DIGA "El programa ha terminado su trabajo"      SI  evento = 3 ENTONCES DIGA "No se pueden encontrar datos en el directorio seleccionado"     

Ver también [ editar ]

Referencias [ editar ]

  1. ^ Giguere, Eric. "Hosts de comando ARexx" .
  2. ^ Cowlishaw, Michael (1985). El lenguaje REXX: un enfoque práctico de la programación (1ª ed.). Prentice Hall. ISBN 0-13-780651-5.
  3. ^ Manual de referencia de usuarios de ARexx
  4. ^ Peruggi, Fulvio. "EqFiles" .
  5. ^ Kazik, Alex. "ALeXcompare" .
Notas
  • Callaway, Merrill. (1992). El libro de cocina ARexx . Albuquerque, Nuevo México: Whitestone. ISBN 0-9632773-0-8.
  • Zamara, Chris; Sullivan, Nick (1991). Usando Arexx en el Amiga . Abacus Software Inc. ISBN 1-55755-114-6.

Enlaces externos [ editar ]

  • Tutorial inicial de ARexx
  • Referencia de comandos y funciones
  • Herramienta de diseño