PL360 (o PL/360 ) es un lenguaje de programación de sistemas diseñado por Niklaus Wirth y escrito por Wirth, Joseph W. Wells Jr. y Edwin Satterthwaite Jr. para la computadora IBM System/360 en la Universidad de Stanford . Una descripción de PL360 se publicó a principios de 1968, aunque la implementación probablemente se completó antes de que Wirth dejara Stanford en 1967. [ 1 ]
Descripción
PL/360 es un compilador de una sola pasada con una sintaxis similar a ALGOL que proporciona facilidades para especificar instrucciones de código máquina (lenguaje) y registros exactos similares [ a ] al lenguaje ensamblador , pero también proporciona características que se encuentran comúnmente en lenguajes de programación de alto nivel , como expresiones aritméticas complejas y estructuras de control . Wirth usó PL360 para crear ALGOL W.
Los tipos de datos son: [ 2 ] : 8
- Byte o carácter – 1 byte
- Entero corto: 2 bytes, interpretado como un entero en notación binaria de complemento a dos.
- Entero o lógico: 4 bytes, interpretado como un entero en notación binaria de complemento a dos.
- Real: 4 bytes, interpretado como un número aritmético de punto flotante corto en base 16 ( hexadecimal ).
- Long real – 8 bytes, interpretado como un número de punto flotante largo en base 16
Los registros pueden contener números enteros, reales o números reales largos.
Las instrucciones individuales del System/360 se pueden generar en línea utilizando la "declaración de función" del PL360, que define una instrucción por formato y código de operación. Los argumentos de la función se asignan secuencialmente a los campos de la instrucción. Algunos ejemplos son:
Ejemplo
R0, R1, R2 y FLAG son nombres predefinidos .
COMIENZA BUCKET ENTERO ; SI BANDERA ENTONCES COMIENZA BUCKET := R0 ; R0 := R1 ; R1 := R2 ; R2 := BUCKET ; FIN SI NO COMIENZA BUCKET := R2 ; R2 := R1 ; R1 := R0 ; R0 := BUCKET ; FIN REINICIAR ( BANDERA ) ; FINImplementación
Wirth estuvo en Stanford entre 1963 y 1967, durante la primera parte de la cual desarrolló su compilador e intérprete de Euler , cuyo código fuente data de 1965. También en 1965, Stanford actualizó su B5000 con memoria de núcleo y almacenamiento en tambor a un B5500 con memoria de núcleo y almacenamiento en disco .
Dado que el IBM S/360 de destino (que iba a reemplazar a un IBM 7090 existente ) no se instaló hasta 1967, la implementación inicial de PL360 se escribió en ALGOL y se probó en el B5500 de Stanford. [ 3 ] Una vez que funcionó, el compilador se volvió a codificar en PL360, se recompiló en el sistema Burroughs y se transfirió como un archivo binario al S/360. [ 1 ] : 66
El B5500 está programado en un lenguaje de alto nivel derivado de ALGOL, denominado ESPOL ( Executive Systems Problem Oriented Language ), y PL360 fue concebido para brindar una funcionalidad comparable a la arquitectura de los mainframes de IBM, aunque carecía de importantes funcionalidades tanto de Assembler F como de ESPOL. Esta intención fue ignorada en gran medida, y los programadores continuaron utilizando implementaciones de los ensambladores de macros de IBM .
Sin embargo, a principios de la década de 1970, PL360 se amplió para ofrecer más funcionalidades y se convirtió en el lenguaje de programación elegido para el desarrollo del Sistema de Recuperación de Información Física de Stanford (SPIRES), el sistema de gestión de bases de datos de Stanford.
Véase también
Notas
- ↑ Pero carece de facilidades para el direccionamiento implícito, por ejemplo,
USING
Referencias
- 1 2 Wirth, Niklaus (enero de 1968). "PL360, un lenguaje de programación para las computadoras 360" . Journal of the ACM . 15 (1): 34– 74. doi : 10.1145/321439.321442 . S2CID 7376057 .
- ↑ Wirth, Niklaus (24 de diciembre de 1965). Un lenguaje de programación para las computadoras 360 (PDF) (Informe técnico). Universidad de Stanford. CS33.
- ↑ Satterthwaite, E. (marzo de 1968). "Notas sobre la construcción de subsistemas dentro del sistema operativo/360" (PDF) . pág. 1. CGTM n.º 43.
Enlaces externos
- Wirth, Niklaus (24 de diciembre de 1965). Un lenguaje de programación para las computadoras 360 (PDF) (Informe técnico). Universidad de Stanford. CS33.
- Malcolm, Michael A. (mayo de 1972). PL360 (revisado) Un lenguaje de programación para las computadoras 360 (PDF) (Informe técnico). Universidad de Stanford. STAN-CS-71-215r.
- Libro de texto PL360
- PL360@Everything2
- Línea de ordenadores centrales IBM System/360
- Lenguajes de programación procedimental
- Lenguajes de programación creados en 1966