Idioma de la aplicación de transacciones


Transaction Application Language o TAL (originalmente "Tandem Application Language") es un lenguaje procedimental estructurado en bloques optimizado para su uso en hardware Tandem . TAL parece un cruce entre C y Pascal . Era el lenguaje de programación del sistema original para las máquinas Tandem CISC , que no tenían ensamblador .

El concepto de diseño de TAL, una evolución de Hewlett Packard 's SPL , se asoció íntimamente y se optimiza con un microprogrammed conjunto de instrucciones CISC. Cada instrucción TAL podría compilarse fácilmente en una secuencia de instrucciones que manipularan datos en una pila de registros flotantes transitorios. La pila de registros flotaba en la cima de la asignación de memoria del programa y la pila de llamadas .

El lenguaje en sí tiene la apariencia de ALGOL o Pascal , con instrucciones BEGIN y END. Sin embargo, su semántica se parece mucho más a C . No permite niveles indefinidos de anidamiento de procedimientos, no pasa argumentos estructurados complejos por valor y no escribe estrictamente la mayoría de las referencias variables. Las técnicas de programación son muy parecidas a C usando punteros a estructuras, superposiciones ocasionales, manejo deliberado de cadenas y conversiones cuando sea apropiado.

Los tipos de datos disponibles incluyen enteros de 8 bits, 16 bits, 32 bits y (introducidos más adelante) de 64 bits. El soporte de nivel de microcódigo estaba disponible para cadenas de caracteres terminadas en nulo. Sin embargo, esto no se usa comúnmente.

Originalmente, el sistema operativo Tandem NonStop estaba escrito en TAL. Recientemente, gran parte de él se ha reescrito en C y TAL ha quedado obsoleto para nuevos desarrollos.

En la migración de CISC a RISC, TAL se actualizó/reemplazó con pTAL; los compiladores permitieron acelerar/recompilar TAL en aplicaciones RISC nativas.