Articulo de referencia

ARexx

ARexx es un intérprete de Rexx para Amiga , escrito en 1987 por William S. Hawes, con varias características específicas de Amiga que van más allá del Rexx estándar. Un script d...

ARexx es un intérprete de Rexx para Amiga , escrito en 1987 por William S. Hawes, con varias características específicas de Amiga que van más allá del Rexx estándar. Un script de ARexx puede comunicarse con software que implementa un puerto de ARexx . Una aplicación de Amiga puede definir un conjunto de comandos y funciones para que ARexx los dirija, poniendo así las capacidades del software a disposición de un script de ARexx. [ 1 ] Varias aplicaciones admiten la ejecución de un script de ARexx como una macro .

Un script ARexx puede ejecutar comandos y funciones en múltiples aplicaciones, lo que permite integrar la funcionalidad de estas. Por ejemplo, un script ARexx podría extraer datos de una base de datos , insertarlos en una hoja de cálculo para realizar cálculos y, posteriormente, insertar tablas y gráficos basados ​​en los resultados en un documento de procesador de texto .

ARexx permite que un script se comunique con aplicaciones compatibles con ARexx, es decir, que puedan recibir y ejecutar comandos de ARexx. Algunos ejemplos destacados son: la aplicación de base de datos MicroFiche Filer, que ofrece numerosos comandos ARexx; el editor Textra, incluido con JForth, que proporciona un entorno de programación integrado; y la aplicación de presentación multimedia AmigaVision , que puede controlar otros programas mediante ARexx.

Al igual que en Rexx estándar, ARexx utiliza una representación de datos sin tipo . Otros lenguajes de programación distinguen tipos como entero , coma flotante y cadena , pero Rexx trata todos los datos como texto (cadena). Esto facilita la escritura de código, pero conlleva ineficiencia y errores en tiempo de ejecución. Como suele ocurrir en lenguajes con ámbito dinámico , las variables no se declaran antes de su uso; se crean al utilizarse por primera vez.

ARexx proporciona comandos integrados y acceso a su biblioteca anfitriona de Amiga (rexxsyslib.library), así como a otras bibliotecas y funciones. Un programa de Amiga con una versión para ARexx puede ofrecer su funcionalidad a un script de ARexx. Un script de ARexx puede invocar a otros scripts de ARexx.

Historia

ARexx fue creado en 1987 y 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 en AmigaOS 2.0 en 1990 y se ha incluido en todas las versiones posteriores de AmigaOS. Esta última versión de ARexx sigue fielmente el lenguaje Rexx oficial; Hawes participó posteriormente en la redacción del estándar ANSI para Rexx.

Del manual de ARexx:

ARexx se desarrolló en un ordenador Amiga 1000 con 512 KB de memoria y dos unidades de disquete. El prototipo del lenguaje se desarrolló en C utilizando Lattice C , y la versión de producción se escribió en lenguaje ensamblador utilizando el ensamblador Metacomco . La documentación se creó con el editor TxEd [ 3 ] y se compuso en TeX utilizando AmigaTeX . Este es un producto 100% Amiga. [ 4 ]

Dado que ARexx está escrito en lenguaje ensamblador 68000 , no puede funcionar a máxima velocidad con las CPU PPC de MorphOS , un descendiente más moderno de Amiga. ARexx no se ha reescrito para ellas y sigue sin estar incluido en MorphOS. William Hawes ya no participa en el desarrollo de software para Amiga y ninguna empresa financia nuevas versiones de ARexx. No obstante, la versión actual de ARexx continúa utilizándose, aunque no se distribuye con MorphOS.

Ejemplos

Implementar nuevas capacidades

Si un usuario 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 localiza 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 Paint, que realiza modificaciones al archivo.
  5. La imagen modificada se guarda en otro directorio.
  6. ARexx repite el procedimiento en cualquier imagen del directorio.
  7. El programa de pintura está cerrado y el programa de animación está cargado.
  8. La animación está construida
  9. La animación se guarda en su directorio.
  10. El programa de animación está cerrado.

Automatizar tareas repetitivas

EqFiles.rexx [ 5 ] es un ejemplo conocido de un script ARexx sencillo escrito para automatizar procedimientos repetitivos y tediosos. Este script utiliza el programa ALeXcompare [ 6 ] para comparar archivos, y luego encuentra todos los duplicados en un conjunto de archivos y devuelve un resultado resaltando los resultados con un color diferente.

Extiende AmigaOS

Una de las principales ventajas de ARexx es que amplía las funcionalidades de AmigaOS añadiéndole características de las que carece. Por ejemplo, un programa ARexx podría mostrar un mensaje de advertencia o reproducir un sonido de alerta si un programa específico de Amiga se detiene, falla o finaliza su tarea programada.

El siguiente script es un script ARexx que muestra advertencias en función de los eventos:

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

Véase también

Referencias

  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. "Amazing_Computing_1986-03_067.JPG" .
  4. Manual de referencia del usuario de ARexx
  5. Peruggi, Fulvio. "Archivos Eq" .
  6. Kazik, Alex. "ALeXcompare" .
Notas
  • Callaway, Merrill. (1992). El libro de cocina ARexx . Albuquerque, NM: Whitestone. ISBN 0-9632773-0-8.
  • Zamara, Chris; Sullivan, Nick (1991). Uso de Arexx en Amiga . Abacus Software Inc. ISBN 1-55755-114-6.
  • Tutorial básico de ARexx
  • Referencia de comandos y funciones
  • Herramienta de diseño
Obtenido de " https://en.wikipedia.org/w/index.php?title=ARexx&oldid=1334538608 "