SPITBOL


SPITBOL ( Sp EEdy I mplemen t ación de SNO BOL ) es un compilado aplicación de la SNOBOL4 lenguaje de programación . Originalmente diseñado para la familia de computadoras IBM System / 360 y System / 370 , ahora se ha adaptado a la mayoría de los principales microprocesadores, incluido el SPARC . Fue creado por Robert Dewar y Ken Belcher, que estaban entonces en el Instituto de Tecnología de Illinois .

Antes del desarrollo de SPITBOL, se pensaba que SNOBOL4 era lento, requería mucha memoria e imposible de compilar debido a su naturaleza dinámica. Si bien el enlace diferido evita que todo se determine en el momento de la compilación, SPITBOL adopta varias estrategias para tomar decisiones lo antes posible. Hay disponibles versiones recientes del compilador SPITBOL. Desde 2001, el código fuente del compilador SPITBOL 360 original está disponible bajo la Licencia Pública General GNU . [1]

MACRO SPITBOL es una implementación de SPITBOL escrita en la década de 1970 por Robert Dewar y Anthony P. McCann. [2] MACRO SPITBOL está codificado en MINIMAL, un lenguaje ensamblador para una máquina abstracta. El conjunto de instrucciones se define cuidadosamente para permitir cierta latitud en su implementación, de modo que se puedan explotar las operaciones de hardware favorables al procesamiento de cadenas. [3]

Una implementación de MINIMAL que fue diseñada para interpretación en microcomputadoras se realizó traduciendo MINIMAL a MICRAL utilizando un traductor que se implementó en SPITBOL. La versión MICRAL de MACRO SPITBOL, junto con el intérprete MICRAL corrió en menos de 40K bytes. [4] Esta compresión extrema de código de objeto de MICRAL se logra mediante un conjunto de sustituciones de macro de código de máquina que minimiza el espacio requerido para el código de objeto y la tabla de macros. La complejidad de los algoritmos conocidos para una solución óptima a este problema es alta, pero las heurísticas eficientes logran resultados casi óptimos. [5]

El código fuente de MACRO SPITBOL se publicó bajo la Licencia Pública General GNU el 17 de abril de 2009. [6]