ALTRAN (ALgebraic TRANslator) es un lenguaje de programación para la manipulación formal de funciones racionales de varias variables con coeficientes enteros. Fue desarrollado en Bell Labs en la década de 1960. [1] ALTRAN es una versión FORTRAN del paquete de álgebra racional ALPAK , [2] y "se puede considerar como una variante de FORTRAN con la adición de una declaración adicional, la declaración de tipo 'algebraica'". [3]
Diseñada por | W. Stanley Brown [1] |
---|---|
Desarrollador | Laboratorios Bell Telephone |
Apareció por primera vez | 1965 |
Influenciado por | |
FORTRAN , PL / I [1] |
Aunque ALTRAN está escrito en ANSI FORTRAN, existen diferencias en las implementaciones de FORTRAN. ALTRAN maneja las dependencias de la máquina mediante el uso de un macroprocesador llamado M6. [1] [4]
ALTRAN no debe confundirse con ALGOL to FORTRAN Translator, llamado Altran, que "convierte los programas Extended Algol en Fortran IV". [5]
Historia
ALPAK, escrito en 1964, originalmente consistía en un conjunto de subrutinas para FORTRAN escritas en lenguaje ensamblador . Estas subrutinas fueron reescritas en FORTRAN para ALTRAN. [6]
M. Douglas McIlroy y W. Stanley Brown desarrollaron una primera versión de ALTRAN a mediados de la década de 1960. [1] Sin embargo, poco después de la finalización de su traductor ALTRAN, las computadoras IBM 7094 , de las que dependían ALPAK y ALTRAN, comenzaron a eliminarse en favor de máquinas más nuevas. Esto condujo al desarrollo de un lenguaje y una implementación ALTRAN más avanzados desarrollados por Brown, Andrew D. Hall, Stephen C. Johnson , Dennis M. Ritchie y Stuart I. Feldman , que era altamente portátil. [7] [8] El traductor fue implementado por Ritchie, el intérprete por Hall, la función racional en tiempo de ejecución y las rutinas polinomiales de Feldman, Hall y Johnson, y las rutinas de E / S de Johnson. [1]
Posteriormente, Feldman y Julia Ho agregaron un paquete de evaluación de expresiones racionales que generó subrutinas FORTRAN precisas y eficientes para la evaluación numérica de expresiones simbólicas producidas por ALTRAN. [7]
En 1979, ALTRAN fue transferido a las computadoras Control Data Corporation 6600 y Cyber 176 en el Laboratorio de Armas de la Fuerza Aérea . Descubrieron que "ALTRAN es aproximadamente 15 veces más rápido que FORMAC en un entorno PL / I , y es al menos 12 veces más rápido que REDUCE ". También se observó que ALTRAN pudo resolver rápidamente problemas que ni FORMAC ni REDUCE podían manejar en el hardware dado o en un tiempo razonable. [9]
Programa de muestra
PROCEDIMIENTO # PRINCIPAL EJEMPLO SENCILLO DE USO DE FTNOUT ALGEBRAICO LARGO (X: 10, Y: 10) F ALTRAN FTNOUT OPTS (201,72) # FTNOUT REQUIERE UNA LONGITUD DE LÍNEA DE 72 F = EXPANDIR ((X + 2 * Y + 1000000) ** 3) ESCRIBIR F # IMPRIMIR F ESCRIBIR (25) "FUNCIÓN F (X, Y)" "C EJEMPLO DE PROG ESCRITO CON FTNOUT". , F, "RETURN" ™, "FIN"# HEMOS ESCRITO UN PROGRAMA SIMPLE EN LA UNIDAD 25, AHORA INVOCAMOS FTNOUT PARA# ESTA SALIDA ALTRAN A FORTRAN LEGAL. FTNOUT FINAL
Operaciones
Operación | Sintaxis ALTRAN | Ejemplo de polinomios |
---|---|---|
Adición | C = A+B | |
Sustracción | C = A-B | |
Multiplicación | C = A*B | |
División | D = A/B | |
Exponenciación integral | D = A**K | |
Sustitución | G = F(X = P, Y = Q) | |
Diferenciación | G = DIFF(F, Y) | |
Máximo común divisor | D = GCD(A, B) |
Referencias
- ^ a b c d e f Hall, AD, "El sistema ALTRAN para la manipulación de funciones racionales: una encuesta". Communications of the ACM , 14 (8): 517–521 (agosto de 1971).
- ^ a b Tapley, BD; Szebehely, VG (2012). Avances recientes en astronomía dinámica . Springer Science & Business Media. pag. 364. ISBN 978-94-010-2611-6. Consultado el 3 de septiembre de 2019 .
- ^ Geddes, Keith O .; Czapor, Stephen R .; Labahn, George (2007). Algoritmos para álgebra computacional . Springer Science & Business Media. pag. 4. ISBN 0-7923-9259-0. Consultado el 3 de septiembre de 2019 .
- ^ Brown, PJ (ed.) (1977). Portabilidad de software . Prensa de la Universidad de Cambridge. pag. 21. ISBN 0-521-29725-7. Consultado el 3 de septiembre de 2019 .CS1 maint: texto adicional: lista de autores ( enlace )
- ^ Wilner, Wayne T. "ALGOL AL TRADUCTOR DE FORTRAN" (PDF) . slac.stanford.edu . Consultado el 3 de septiembre de 2019 .
- ^ Lamagna, Edmund A. (2019). Álgebra informática: conceptos y técnicas . Prensa CRC. pag. 12. ISBN 9781138093140. Consultado el 3 de septiembre de 2019 .
- ^ a b Holbrook, Bernard D .; Brown, W. Stanley. "Informe técnico de ciencias de la computación n. ° 99: una historia de la investigación en computación en los laboratorios Bell (1937-1975)" . Bell Labs . Archivado desde el original el 2 de septiembre de 2014 . Consultado el 2 de febrero de 2020 .
- ^ Johnson, SC; Ritchie, DM (1976). "Portabilidad Unix" .
Está claro que el grado de portabilidad prometido [de Unix en C] no puede acercarse al de ALTRAN, por ejemplo, que puede ser planteado con quince días de esfuerzo por alguien experto en las condiciones locales pero ignorante de ALTRAN mismo.
- ^ Rhoades, Jr., Cecil E. "Implementación AFWL de ALTRAN" (PDF) . dtic.mil . Consultado el 3 de septiembre de 2019 .
- WS Brown, "Un lenguaje y un sistema para el álgebra simbólica en una computadora digital", SYMSAC '66 Actas del primer simposio ACM sobre manipulación simbólica y algebraica, p. 501-540, enero de 1966.
- WS Brown, ALTRAN User's Manual (2a ed.), Bell Laboratories, Murray Hill, NJ, 1972.
- WS Brown, ALTRAN User's Manual (3.a ed.), Bell Laboratories, Murray Hill, Nueva Jersey, 1973.
- Stuart I. Feldman, "Una breve descripción de Altran", ACM SIGSAM Bulletin, Volumen 9 Número 4, noviembre de 1975, p. 12-20.
- AD Hall y SC Johnson, "Programas ALTRAN para el problema # 6 de SIGSAM", Boletín ACM SIGSAM, Volumen 8 Edición 2, mayo de 1974, p. 12 - 36.
- Mansour Farah, "UNA DESCRIPCIÓN FORMAL DE ALTRAN UTILIZANDO SISTEMAS DE MANIPULACIÓN FORESTAL VINCULADOS", Informe técnico CS-73-08, Universidad de Waterloo, abril de 1973.