UCSD Pascal | |
---|---|
Obrazovka editoru v UCSD p-System , Apple II | |
Typ | vysokoúrovňový programovací jazyk a programovací jazyk |
Vývojář | UC San Diego , SoftTech , Pecan |
Jazyky rozhraní | Angličtina |
První vydání | 1978 |
Hardwarová platforma | Apple II , DEC PDP-11 , Zilog Z80 , MOS 6502 , Motorola 68000 , x86 , Pascal MicroEngine |
Nejnovější verze | Verze IV |
UCSD Pascal je dialekt programovacího jazyka Pascal .
V druhé polovině sedmdesátých let byl na University of San Diego (Kalifornie, USA) vyvinut UCSD p-System , který zahrnoval kompilátor z Pascalu na přenosný p-kód (samotná myšlenka kompilace do p-kódu byl vypůjčen z dřívějšího systému Pascal-P). První verzí, která byla distribuována mimo univerzitu, byla verze I.3 vydaná v srpnu 1977 [1] .
UCSD Pascal představil několik důležitých rozšíření jazyka Pascal, jako jsou moduly , což jsou kompilační jednotky, a znakové řetězce s proměnnou délkou. Kromě toho byla podporována rozšíření standardu jazyka Pascal, která byla v té době běžná, jako jsou překladové direktivy v pseudokomentářích, specifikování skutečného názvu souboru při jeho otevírání, řešení I/O chyb, volitelně výpis souborů v hlavičce programu , atd. Následně byly hlavními komerčními implementacemi jazyka Pascals založeného na této modifikaci Pascalu především Object Pascal od Applu a Turbo Pascal od Borlandu .
Maximální délka znakového řetězce v UCSD Pascal, stejně jako v pozdějších dialektech 80. let, byla 255 znaků, ale v UCSD Pascal bylo standardně použito 80 znaků.
Podporovány byly soubory bez typu a odpovídající procedury blockread a blockwrite .
Správa paměti haldy pomocí nových procedur a vyřazování v UCSD Pascal byla na tehdejší hardware příliš náročná na zdroje a byla nahrazena efektivnější, ale méně pohodlnou dynamickou správou zásobníku paměti způsobující chyby ( procedura vyřazení byla prázdná, aktuální ukazatel zásobníku dynamických proměnných byl zapamatován pomocí procedury mark a byl obnoven pomocí procedury release , čímž se uvolnila celá paměť přidělená po odpovídajícím volání mark ).
Podobně jako řetězec typu string [n] byl podporován datový typ BCD integer [n] se zadaným počtem desetinných číslic.
Zajímavou vlastností dialektu UCSD Pascal byl výchozí zákaz používání operátoru goto (pokud nebyl specifikován speciální režim překladu {$G+}, pak byl operátor goto považován za chybu).
V přehledových článcích se někdy tvrdí, že koncept modulů v UCSD Pascal byl převzat z jazykového projektu Ada . Vývojář UCSD Pascal Kenneth Bowles ale píše, že naopak moduly v UCSD Pascal sloužily jako prototyp podobného mechanismu balíčků v Ada [2] , jehož vývoj začal v roce 1977.
Na konci sedmdesátých a na začátku osmdesátých let byla implementace UCSD Pascal II.1 na počítači Apple II s procesorem 6502 licencována společností Apple Computer pod ochrannou známkou Apple Pascal a s vlastní verzí číslování 1.0-1.3 (ale mezi běžnější označované jako UCSD Pascal). V této implementaci byly k dispozici další moduly AppleStuff s různými systémovými voláními (práce s klávesnicí, zvukem atd.) a TurtleGraphics s grafickým balíkem želv. V Bulharsku byl Apple Pascal lokalizován pro počítač Pravets-82 , tento produkt byl použit v bulharském vzdělávacím programu, který se v 80. letech používal i v SSSR.
Poslední komerční verze kompilátoru UCSD Pascal byla do roku 2001 distribuována společností Cabot Software pod názvem P-Code Pascal a měla implementace pro Windows, MS DOS, Macintosh, OS/2, RS/6000, Power PC, ARM, SCO UNIX, Interaktivní platformy UNIX. , Linux, DEC VAX, AIX, Hitachi SH. P-Code Pascal zahrnoval multitasking a objektově orientované programování [3] .
Pascal | |||||||
---|---|---|---|---|---|---|---|
Dialekty |
| ||||||
Kompilátory |
| ||||||
IDE | |||||||
Osoby |