UCSD Pascal

UCSD Pascal

Ecran de editor în UCSD p-System , Apple II
Tip de limbaj de programare de nivel înalt și limbaj de programare
Dezvoltator UC San Diego , SofTech , Pecan
Limbi de interfață Engleză
Prima editie 1978
Platformă hardware Apple II , DEC PDP-11 , Zilog Z80 , MOS 6502 , Motorola 68000 , x86 , Pascal MicroEngine
ultima versiune Versiunea IV

UCSD Pascal este un dialect al limbajului de programare Pascal .

În a doua jumătate a anilor 1970, UCSD p-System a fost dezvoltat la Universitatea din San Diego (California, SUA) , care includea un compilator de la Pascal la p-code portabil (însăși ideea de a compila în p-code). a fost împrumutat din sistemul Pascal-P mai timpuriu). Prima versiune care a fost distribuită în afara universității a fost versiunea I.3 lansată în august 1977 [1] .

Caracteristicile limbii

UCSD Pascal a introdus câteva extensii importante pentru limbajul Pascal, cum ar fi modulele , care sunt unități de compilare și șiruri de caractere cu lungime variabilă. În plus, au fost acceptate extensiile la standardul de limbaj Pascal care erau comune până atunci, cum ar fi directivele de traducere în pseudo-comentarii, specificarea numelui real al fișierului la deschiderea acestuia, gestionarea erorilor I/O, listarea opțională a fișierelor în antetul programului. , etc. Ulterior, principalele implementări comerciale ale limbajului Pascals bazate pe această modificare a lui Pascal au fost în primul rând Object Pascal de la Apple și Turbo Pascal de la Borland .

Lungimea maximă a unui șir de caractere în UCSD Pascal, ca și în dialectele de la sfârșitul anilor 1980, a fost de 255 de caractere, dar 80 de caractere au fost utilizate în mod implicit în UCSD Pascal.

Fișierele netipizate și procedurile corespunzătoare de blocare și scriere de bloc au fost acceptate .

Excesiv de resurse pentru hardware-ul din acea vreme, gestionarea memoriei heap folosind procedurile noi și de eliminare din UCSD Pascal a fost înlocuită cu o gestionare dinamică a stivei de memorie mai eficientă, dar mai puțin convenabilă și producătoare de erori ( procedura de eliminare era goală, actualul pointerul stivei de variabile dinamice a fost rememorat folosind marca de procedură și a fost restaurat folosind procedura de eliberare , eliberând toată memoria alocată după apelul corespunzător la marcaj ).

Similar cu șirul de tip șir [n], întregul  tip de date BCD  [n] a fost acceptat cu un număr specificat de cifre zecimale.

O caracteristică interesantă a dialectului UCSD Pascal a fost interzicerea implicită a utilizării operatorului goto (dacă nu a fost specificat modul special de traducere {$G+}, atunci operatorul goto a fost considerat o eroare).

Module

Se pretinde uneori în articolele de recenzie că conceptul de module din UCSD Pascal a fost preluat din proiectul de limbaj Ada . Dar dezvoltatorul UCSD Pascal Kenneth Bowles scrie că, dimpotrivă, modulele din UCSD Pascal au servit ca prototip pentru un mecanism de pachet similar în Ada [2] , care a început dezvoltarea în 1977.

Implementări

Răspândită la sfârșitul anilor 1970 și începutul anilor 1980 a fost implementarea UCSD Pascal II.1 pe un computer Apple II cu un procesor 6502 , licențiat de Apple Computer sub marca Apple Pascal și cu propria sa versiune numerotată 1.0-1.3 (dar printre cele mai frecvente denumit UCSD Pascal). În această implementare, module AppleStuff suplimentare au fost disponibile cu diverse apeluri de sistem (lucru cu tastatura, sunet, etc.) și TurtleGraphics cu un pachet grafic turtle. În Bulgaria, Apple Pascal a fost localizat pentru computerul Pravets-82 , acest produs a fost folosit în programul educațional bulgar, care a fost folosit și în URSS în anii 1980.

Cea mai recentă versiune comercială a compilatorului UCSD Pascal a fost distribuită de Cabot Software sub numele P-Code Pascal până în 2001 și a avut implementări pentru Windows, MS DOS, Macintosh, OS/2, RS/6000, Power PC, ARM, SCO UNIX, Platforme interactive UNIX. , Linux, DEC VAX, AIX, Hitachi SH. P-Code Pascal a inclus multitasking și programare orientată pe obiecte [3] .

Note

  1. MUZEUL SISTEMULUI P UCSD . Data accesului: 5 octombrie 2009. Arhivat din original la 17 februarie 2015.
  2. Fișier de pe site-ul web Keent Bowles www.kenbowles.net, Some Insights for UCSD Pascal Generation Arhivat 24 februarie 2021 la Wayback Machine la retro8bits.com
  3. Codul P al lui Cabot Pascal . Consultat la 10 octombrie 2009. Arhivat din original pe 5 decembrie 2008.

Link -uri

În limba engleză

Vezi și