SPITBOL (Speedy Implementation of SNOBOL) es una implementación compilada del lenguaje de programación SNOBOL4 . Originalmente diseñado para la familia de computadoras IBM System/360 y System/370 , ahora se ha adaptado a la mayoría de los microprocesadores principales, incluido el SPARC . Fue creado por Robert Dewar y Ken Belcher, quienes entonces trabajaban en el Instituto Tecnológico de Illinois .
Antes del desarrollo de SPITBOL, se creía que SNOBOL4 era lento, consumía mucha memoria y era imposible de compilar debido a su naturaleza dinámica. Si bien el enlace diferido evita que todo se determine en tiempo de compilación, SPITBOL adopta diversas estrategias para tomar decisiones lo antes posible. Hay versiones recientes del compilador SPITBOL disponibles. Desde 2001, el código fuente del compilador original SPITBOL 360 está disponible bajo la Licencia Pública General de 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 está cuidadosamente definido para permitir cierta flexibilidad en su implementación, de modo que se puedan aprovechar las operaciones de hardware favorables al procesamiento de cadenas. [ 3 ]
Una implementación de MINIMAL diseñada para su interpretación en microcomputadoras se realizó traduciendo MINIMAL a MICRAL mediante un traductor implementado en SPITBOL. La versión MICRAL de MACRO SPITBOL, junto con el intérprete MICRAL, ocupaba menos de 40 KB. [ 4 ] Esta compresión extrema del código objeto de MICRAL se logra mediante un conjunto de sustituciones de macros en código máquina que minimizan el espacio requerido para el código 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 alcanzan resultados casi óptimos. [ 5 ]
El código fuente de MACRO SPITBOL se publicó bajo la Licencia Pública General de GNU el 17 de abril de 2009. [ 6 ]
Referencias
- ↑ Fuente y documentación de Spitbol 360
- ↑ Robert BK Dewar ; Anthony P. McCann (1977). "MACRO SPITBOL - un compilador SNOBOL4". Software: Practice and Experience . 7 : 95–113 . doi : 10.1002/spe.4380070106 .
- ↑ Robert BK Dewar ; Anthony P. McCann (1979). MINIMAL - Un lenguaje ensamblador independiente de la máquina . Informe técnico del Departamento de Ciencias de la Computación. Vol. 12. Instituto Courant de Ciencias Matemáticas.
- ↑ Robert BK Dewar ; Martin Charles Golumbic ; Clinton F. Goss (agosto de 2013) [Publicado por primera vez en octubre de 1979]. MICRO SPITBOL . Informe técnico del Departamento de Ciencias de la Computación. Vol. 11. Instituto Courant de Ciencias Matemáticas. arXiv : 1308.6096 . Bibcode : 2013arXiv1308.6096D .
- ↑ Martin Charles Golumbic ; Robert BK Dewar ; Clinton F. Goss (1980). "Sustituciones macro en MICRO SPITBOL: un análisis combinatorio". Actas de la 11.ª Conferencia del Sudeste sobre Combinatoria, Teoría de Grafos y Computación, Congressus Numerantium, Utilitas Math., Winnipeg, Canadá . 29 : 485–495 .
- ↑ Fuente de Macro Spitbol
- Compiladores
- Lenguajes de programación que coinciden con patrones
- Familia de lenguajes de programación SNOBOL