Lenguaje Rexx

10.04.2015 17:24

Rexx es un lenguaje interpretado creado en 1979 por Mike Colishaw. Es un lenguaje creado para programar secuencias de comandos. Implementado en el sistema operativo z/OS, también cuenta con versiones en otros sistemas operativos; actualmente cuenta con extensiones que le permiten acceder a una gran variedad de ambientes o subsistemas en el ambiente z/OS. Proporciona varias funciones para el manejo de cadenas de caractéres. Es de manejo relativamente simple ya que tan sólo requiere alojar un archivo una librería o biblioteca en TSO, editarlo con el editor nativo de ISPF, colocar el código del programa, guardarlo y ejecutarlo con el comando EXEC.

A continuación te menciono las caracteristicas pricipales de este lenguaje de programación:

  • Orientado al manejo de cadenas de caracteres.
  • Lenguaje estructurado e interpretado ya que no requiere ser compilado para ejecutarlo.
  • Reglas de sintaxis simples.
  • Permite codificar en formato libre.
  • Consiste de operadores, instrucciones y funciones.
  • En z/OS se integra con otros componentes de software a través de extensiones.
  • Cuenta con muchas funciones integradas y la posibilidad de crear funciones propias.
  • Gran capacidad y facilidad de depuración usando un "trace" interactivo.

Para darte una idea, te muestro enseguida un primer programa que como podrás notar contiene la palabra "Rexx" en la primera linea, como un comentario y que es requerida y a la vez necesaria para su adecuada interpretación.

Para ejecutarlo basta con utilizar el comando de TSO EXEC 'TUUSUARIO.REXX(pgm)', con lo que obtendremos el siguiente resultado:

Codificación

  • Un comentario inicia con /* y termina con */.
  • Un programa Rexx inicia con un comentario con la palabra Rexx en la primera linea.
  • Un programa termina con la instrucción EXIT.
  • Las variables no necesitan declararse ni inicializarse. Por lo tanto los tipos de datos son dinámicos.
  • Las condiciones simples puede evaluarse con la instrucción IF
  • Para condiciones multiples podemos utilizar la instrucción SELECT
  • Dentro del programa podemos incluir llamados a subrutinas y funciones internas o externas usando la instrucción CALL
  • Para regresar al flujo del programa principal usaremos la instrucción RETURN, por ejemplo:

Opcionalmente, después de RETURN puedes colocar una expresión que entonces será evaluada, y el valor resultante asignado a una variable especial llamada RESULT, que puede ser usada en la sección del programa principal. El siguiente ejemplo realiza un llamado a una subrutina para calcular el área de un rectangulo:

En este ejemplo los valores se pasan a la subrutina calc_area usando el formato CALL subrutina1 argumento1 argumento2 argumentoN, sin embargo también podrías usar las instrucciones ARG y PARSE ARG.

Un sitio de referencia del Lenguaje Rexx es la "Asociación del Lenguaje Rexx".

Fin de la primera entrega - Luis Alberto González de la Torriente

 

Mainframe

Lenguaje Rexx

10.04.2015 17:24
Rexx es un lenguaje interpretado creado en 1979 por Mike Colishaw. Es un lenguaje creado para programar secuencias de comandos. Implementado en el sistema operativo z/OS, también cuenta con versiones en otros sistemas operativos; actualmente cuenta con extensiones que le permiten acceder...

Conociendo DB2 para z/OS

10.04.2015 17:16
DB2 es un sistema de gestión de bases de datos relacional (RDBMS por sus siglas en inlgés) y para realizar dicha gestión cuenta con diferentes estructuras y procesos. La estructura básica del sistema relacional es la tabla, la cual contiene lÍneas y columnas ordenadas o sin ordenar. DB2 basa su...

El servidor Mainframe

10.04.2015 17:13
El servidor Mainframe   Casi todos los dias somos usuarios de algun servicio que es provisto por un servidor mainframe, aunque no nos damos cuenta de ello. ¿Cómo sucede esto?, bueno cada vez que utilizamos un cajero, reservamos un boleto de avión o usamos nuestra tarjeta de crédito o debito...