UCSD Pascual

UCSD Pascual

Pantalla del editor en UCSD p-System , Apple II
Tipo de lenguaje de programación de alto nivel y lenguaje de programación
Desarrollador Universidad de California en San Diego , SofTech , Pecan
Idiomas de la interfaz inglés
Primera edición 1978
plataforma de hardware Apple II , DEC PDP-11 , Zilog Z80 , MOS 6502 , Motorola 68000 , x86 , Pascal MicroEngine
ultima versión Versión IV

UCSD Pascal es un dialecto del lenguaje de programación Pascal .

En la segunda mitad de la década de 1970, se desarrolló en la Universidad de San Diego (California, EE. UU.) el UCSD p-System , que incluía un compilador de Pascal a p-code portátil (la idea misma de compilar a p-code fue tomado de un sistema Pascal-P más antiguo). La primera versión que se distribuyó fuera de la universidad fue la versión I.3 lanzada en agosto de 1977 [1] .

Características del lenguaje

UCSD Pascal introdujo varias extensiones importantes al lenguaje Pascal, como módulos , que son unidades de compilación y cadenas de caracteres de longitud variable. Además, se admitieron las extensiones del estándar de lenguaje Pascal que eran comunes en ese momento, como directivas de traducción en pseudocomentarios, especificar el nombre real del archivo al abrirlo, manejar errores de E / S, enumerar archivos opcionalmente en el encabezado del programa , etc. Posteriormente, las principales implementaciones comerciales del lenguaje Pascals basadas en esta modificación de Pascal fueron principalmente Object Pascal de Apple y Turbo Pascal de Borland .

La longitud máxima de una cadena de caracteres en UCSD Pascal, como en los dialectos posteriores de la década de 1980, era de 255 caracteres, pero se usaban 80 caracteres de manera predeterminada en UCSD Pascal.

Se admitieron archivos sin tipo y los correspondientes procedimientos blockread y blockwrite .

Excesivamente intensiva en recursos en el hardware de esa época, la gestión de la memoria en montón usando los procedimientos nuevos y de disposición en UCSD Pascal fue reemplazada por una gestión de pila de memoria dinámica más eficiente, pero menos conveniente y que generaba errores (el procedimiento de disposición estaba vacío, el actual El puntero de pila de las variables dinámicas se recordó usando el procedimiento mark y se restauró usando el procedimiento de liberación , liberando toda la memoria asignada después de la correspondiente llamada a mark ).

Similar al tipo de cadena cadena  [n], el tipo de datos BCD entero  [n] se admitía con un número específico de dígitos decimales.

Una característica interesante del dialecto Pascal de UCSD era la prohibición predeterminada del uso del operador goto (si no se especificaba el modo de traducción especial {$G+}, entonces el operador goto se consideraba un error).

Módulos

A veces se afirma en artículos de revisión que el concepto de módulos en UCSD Pascal fue tomado del proyecto de lenguaje Ada . Pero el desarrollador de UCSD Pascal, Kenneth Bowles, escribe que, por el contrario, los módulos en UCSD Pascal sirvieron como prototipo para un mecanismo de paquete similar en Ada [2] , cuyo desarrollo comenzó en 1977.

Implementaciones

A fines de la década de 1970 y principios de la de 1980, la implementación de UCSD Pascal II.1 en una computadora Apple II con un procesador 6502 , con licencia de Apple Computer bajo la marca registrada Apple Pascal y con su propia versión numerada 1.0-1.3 (pero entre más comúnmente denominado UCSD Pascal). En esta implementación, los módulos AppleStuff adicionales estaban disponibles con varias llamadas al sistema (trabajando con el teclado, el sonido, etc.) y TurtleGraphics con un paquete de gráficos de tortugas. En Bulgaria, Apple Pascal se localizó para la computadora Pravets-82 , este producto se usó en el programa educativo búlgaro, que también se usó en la URSS en la década de 1980.

La última versión comercial del compilador UCSD Pascal fue distribuida por Cabot Software bajo el nombre P-Code Pascal hasta 2001 y tenía implementaciones para Windows, MS DOS, Macintosh, OS/2, RS/6000, Power PC, ARM, SCO UNIX, Plataformas UNIX interactivas. , Linux, DEC VAX, AIX, Hitachi SH. P-Code Pascal incluía multitarea y programación orientada a objetos [3] .

Notas

  1. EL MUSEO DEL SISTEMA P DE UCSD . Fecha de acceso: 5 de octubre de 2009. Archivado desde el original el 17 de febrero de 2015.
  2. Archivo del sitio web de Keent Bowles www.kenbowles.net, Some Insights for UCSD Pascal Generation Archivado el 24 de febrero de 2021 en Wayback Machine en retro8bits.com
  3. Código P Pascal de Cabot . Consultado el 10 de octubre de 2009. Archivado desde el original el 5 de diciembre de 2008.

Enlaces

En inglés

Véase también