Паскал (език за програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
м форматиране: 8x кавички, 6x тире, 5x нов ред, 4x число+г., 29 интервала, URL (ползвайки Advisor)
Ред 5:
|изглед = LagrangePAS.jpg
|текст_изглед =
|парадигма =Императивен/структуриран
|година = 1970 г. (преди {{age|1970|}} г.)
|дизайнер =
|разработчик =Никлаус Вирт
|най-нова_версия =
|бета_версия =
|тестова_версия =
|типизация =Статична/ силна/ безопасна
|област =
|имплементация =
|диалекти = UCSD, Turbo, Delphi, Borland
|повлиян_от =ALGOL W
|повлиял =
|програмен_език =Ada Component Pascal Java[1][2][3] Modula / -2 / -3 Oberon / -2 Object Pascal Oxygene Seed7
|платформа =
|операционна_система =
Ред 34:
 
== Примерни програми ==
 
=== [[Hello, world]] ===
<source lang="pascal">
Line 50 ⟶ 49:
 
== Реализация ==
 
=== Ранни Паскал компилатори ===
Първият Паскал компилатор е проектиран в Цюрих за серия мейнфрейм компютър семейството на CDC 6000.
Line 62 ⟶ 60:
Целта е била серията ICL 1900.Това от своя страна е била компилатор на родителя на Паскал компилатор за информационни компютърни системи (ICS) Multum миникомпютър.
 
Портът Multum е разработена – с оглед на използването на Паскал като език за програмиране системите – от Findlay, Cupples, Cavouras и Дейвис, работещи в Министерството на Изчислителна науки на университета в Глазгоу.
 
Смята се, че Multum Паскал, което е бил завършен през лятото на 1973 г., може да е бил първата 16-бита имплементация.
Line 72 ⟶ 70:
Изпълнението Standard Паскал Model също се основава на този компилатор, като са били адаптирани, от Welsh и Hay в университета в Манчестър през 1984 г., за да се провери щателно за съответствие с BSI 6192 / ISO 7185 стандарт и да се генерира код за преносима абстрактна машина.
 
Първият Паскал компилатор написан в Северна Америка е построена в Университета на Илинойс в рамките Donald B. Gillies за PDP-11 и генерира чист машинен код.
 
=== Паскал-P система ===
Line 92 ⟶ 90:
През 1980 Андърс Хейлсберг написва Blue Label Pascal компилатора за Nascom-2. Нова имплементация на този компилатор за IBM компютъра се предлага на пазара под имената Compas Pascal и PolyPascal преди да е бил придобит от Borland. Преименуван е на Turbo Pascal. Той става изключително популярен, благодарение отчасти на агресивна ценова стратегия и отчасти на факта, че притежава един от първите на цял екран Интегрирани среди за развитие и бърза обработка (само за няколко секунди се компилира, свързва и пуска). Освен това, той е написан и силно оптимизиран изцяло на асемблерен език, което го прави по-малък и по-бърз, отколкото голяма част от конкуренцията. През 1986 г. Андерс пренася Turbo Pascal на Macintosh и включва Object Pascal разширения на Apple в Turbo Pascal. След това тези разширения са добавени обратно в компютърната версия на Turbo Pascal за версия 5.5. В същото време Microsoft също имплементира Object Pascal компилатора. Turbo Pascal 5.5 има голямо влияние върху Pascal общността, която се съсредоточава главно върху IBM компютъра в края на 1980-те. Множество PC ентусиасти в търсене на по-структуриран заместител на BASIC използват този продукт. Той също започва да се приема от професионални разработчици. По същото време редица концепции са били внесени от C, за да използват Паскал програмисти C-базирани APIs директно от Microsoft Windows. Тези разширения включват нулеви стрингове, указателна аритметика, функционални указатели, адрес на оператори и необезопасени typecasts.
 
Въпреки това, по-късно Borland решава, че иска по-сложни обектно-ориентирани функции, и започва отначало в Delphi с помощта на Object Pascal проекта за стандарт, предлаган от Apple като основа. (Този проект на Apple все още не е официален стандарт). Delphi продуктът е пълна среда за разработка и пълен набор от предварително кодирана адаптивни обекти (повечето от тях са екранни джаджи за Windows), известен като "Visual„Visual Component Library"Library“ (VCL). Основният език е Object Pascal. Основните допълнения в сравнение с по-старите разширения на ООП са са указателно-базирани обектни модели, виртуални конструктори и деструктори и свойства. Няколко други компилатори също въвеждат този диалект.
 
Turbo Pascal и други производни с дялове или модулни концепти са модулни езици. Въпреки това, той не предоставя вложена модулна концепция или квалифициран внос и износ на специфични символи.
Line 98 ⟶ 96:
=== Други разновидности ===
Super Pascal е разновидност, която добавя не-цифрови етикети, декларация за връщане и изрази като имена на типове.
 
Университетите на Уисконсин, Цюрих, Карлсруе и Вупертал разработват Pascal-НС и Pascal-XSC (''E'''X'''tension for '''S'''cientific '''C'''omputing'') компилатори, насочени към програмиране на числени пресмятания. TMT Pascal първият Borland-съвместим компилатор за 32-битов MS-DOS защитен режим, OS/2 и Win32 операционни системи. Също езика TMT Pascal е първият, който позволява претоварване на функция и оператор. Pascal-SC е първоначално насочен към процесора Z80, но по-късно е пренаписан за DOS (x86) и 68000. Pascal-XSC многократно е пренасян на UNIX (Linux, SunOS, HP-UX, AIX) и Microsoft / IBM (MS- DOS с EMX, OS / 2, Windows) операционни системи. Той работи чрез генериране на междинен C изходен код, който след това се компилира до локален файл. Някои от езикови разширения на Pascal-SC са приети от GNU Pascal.
 
Pascal Sol е проектиран около 1983 г. от френски екип за имплементиране на Unix системи наречени Sol. Това е стандартен Pascal ниво-1 (с параметъризирани граници на масив), но определението позволява алтернативни ключови думи и предварително определени идентификатори на френски и езикът включва няколко разширения за облекчаване на система за програмиране (например еквивалентно на lseek). Екипът на Sol по-късно предприема проекта ChorusOS да изработи разпределени операционна система.
 
IP Pascal е имплементацияна езика за програмиране Pascal, използвайки Micropolis DOS, но е преместен бързо на CP/M, работещ на Z80. Той е преместен в машинните типове 80386 през 1994 г. и днес съществува като Windows/XP и Linux приложения. През 2008 г. системата е доведена до едно ново ниво и в резултат на това езикът, наречен "Паскалин"„Паскалин“ (калкулаторът на Паскал). Той включва обекти, namespace контроли, динамични масиви, заедно с много други разширения, и като цяло се характеризира със същата функционалност и защита на типовете, като C#. Тя е единствената такава имплементация, която е съвместима и с оригиналната Pascal имплементация, която е стандартизирана като ISO 7185.
 
== Езикови концепти ==
Line 111 ⟶ 110:
Begin
Write('Hello, world!')
{no ";" is required after the last statement of a block -
adding one adds a "null„null statement"statement“ to the program;}
End.
 
Line 139 ⟶ 138:
|-
|string
|a group or "string"„string“ of characters
 
|}
Line 184 ⟶ 183:
a : integer;
b : char;
c : pNode {extra semicolon not strictly required}
end;
var
NodePtr : pNode;
IntPtr : ^integer;
 
New(NodePtr);
Line 199 ⟶ 198:
New(NodePtr);
...
with NodePtr^ do
begin
a := 10;
Line 208 ⟶ 207:
 
=== Контролни структури ===
while a <> b do WriteLn('Waiting');
 
if a > b then WriteLn('Condition met') {no semicolon allowed!}
else WriteLn('Condition not met');
 
for i := 1 to 10 do {no semicolon for single statements allowed!}
WriteLn('Iteration: ', i);
 
repeat
a := a + 1
until a = 10;
 
case i of
0 : Write('zero');
Line 229 ⟶ 228:
=== Процедури и функции ===
program Mine(output);
 
var i : integer;
 
procedure Print(var j : integer);
begin
...
end;
 
begin
...
Line 243 ⟶ 242:
 
== Стандарти ==
Езикови стандарти са разработени така, че когато код е написан на един вид компютър, той може да бъде пренесен към друг [[компютър]] или [[компилатор]] и да се компилира и върви правилно. Това не е съвсем безопасен план, тъй като има много уникални поведения на различни компютри. Програма, която извиква уникално поведение на даден компютър, ще трябва да бъде променена, за да работи на друг. Освен това, повечето компютърни среди предлагат библиотеки за извършване често използвани функции. Ако програмата прави няколко обаждания до системните библиотеки, тези разговори най-вероятно ще трябва да бъдат заменени, когато кода се пренася на друг компютър, дори ако компилаторът е в пълно съответствие с неговите езици стандарти.
 
Въпреки, че стандартите не решават тези въпроси, те предоставят определено количество на последователност в рамките на езикова конструкция. Един и същи код може да не функционира, или дори компилира, когато се пренесе директно към друг компютър или компилатор, но заради съществуването стандартите, [[програмист]] запознат с този език ще има основни познания за това какво прави кодът. Като се има предвид разбирането на библиотеките и уникалните свойства на компютъра, към който кода се пренесе, задачата за пренасяне на кода е по-лесна, отколкото ако нямаше никакви езикови стандарти.
 
Първият стандарт написан за Паскал е разработен през 1983г1983 г., който обхваща което е известно като Неразширен Паскал ([[ISO]] 7185). През 1990г1990 г., същата година, когато неразширения стандарт Паскал е актуализиран, е създадена Разширен Паскал стандарт (ISO 10206). Неразширеният стандарт Паскал включва основната функционалност на оригиналния Паскал, докато Разширеният Паскал стандарт е въведен, за да донесе на Паскал повече съответствие с нуждите на модерното програмиране, осигурявайки по-мощен инструмент за програмиране, без да жертвате елегантността на Паскал.
 
За да отговори на нуждите на по-нататъшно нарастващата технология в компютърното програмиране, някои Паскал компилатори са създадени за подпомагане на обектно-ориентираното програмиране. Въпреки че официално стандарт за Обектен Паскал не е установен, през 1993г1993 г. Комитетът по Паскал стандарти публикува "обектно„обектно-ориентирани разширения на Паскал"Паскал“- технически доклад, който съдържа предложени стандарти. Членовете на комитета, които написват този доклад са дошли от различни организации -  – Университет Пейс и Военновъздушните сили на [[САЩ]], [[Апъл]], [[Майкрософт]], и Дижитъл Екуипмент Корпорейшън.
 
И накрая, през 1995г1995 г., Джон Рейгън, член на комисията по ISO стандарти и компилаторен архитект на Паскал в Дижитъл Екуипмент Корпорейшън (сега Компак), създаде [http://pascal-central.com/extpascal.html Паскал Стандарти] - – често задавани въпроси, адресиращ въпроси като:
 
Какви са различните Паскал стандарти?
Кой създава стандартите?
Какви са необходимите [https://bg.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_[Интерфейс_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D0%BD%D0%B5програмиране) |интерфейси]] за разширяване Паскал?
Каква е историята на Паскал стандарти?
 
== Ресурси ==
 
'''Компилатори и Интерптетатори'''
 
Delphi е rapid application development (RAD) продукт Embarcadero. Той използва Object Pascal език (наречен "Delphi"„Delphi“ от Borland), произлязъл от Pascal, за създаване на приложения в платформата на Windows. Подкрепата на .NET, която е била от D8, D2005, D2006 и D2007, след това тя е прекратен и заменен с нов език, защото не е напълно съвместим. През последните години бяха добавени D2009, D2010, Delphi XE.
 
Free Pascal е мултиплатформен компилатор за писмено на Object Pascal. Той е насочена към осигуряване на удобен и мощен компилатор, както можете да компилирате и утвърдени приложения и да бъде средство за развиване на нови такива. Той се разпространява под GNU GPL, а пакети и изпълними библиотеки идват в модифицирани GNU LGPL. Отделно от режима на съвместимост на Turbo Pascal, Delphi и Mac Pascal, той също има своите собствени процедурни и разширени функции като оператор претоварване. Той поддържа много платформи и операционни системи.
Line 274 ⟶ 272:
GNU Pascal Compiler (GPC) е Pascal компилатор на Compiler Collection на GNU (GCC). Самият компилатор е написан на С, изпълнимата библиотека най-вече в Pascal. Разпределени в рамките на GNU General Public License, той работи на много платформи и операционни системи. Той поддържа ANSI / ISO стандарт езици и има частична Turbo Pascal диалект подкрепа. Един от най-болезнените пропуски е липсата на 100% Turbo Pascal-съвместим. Подкрепа за Borland Delphi и други езикови вариации е доста ограничено. Има известна подкрепа за Mac-Паскал обаче.
 
DWScript известен още като DelphiWebScript, е преводач, създаден от Matthias Ackermann и Hannes Hernler през 2000 г. Текуща версия работи на Object Pascal голяма степен съвместима с Delphi, но също така поддържа езикови елементи, въведени в Prism. DWScript код може да се вгражда в Delphi приложения, подобни на PascalScript, компилиран в самостоятелно приложение, използвайки SimpleMobileStudio или компилирано в JavaScript код и се поставя на една уеб страница.
 
Dr.Pascal е интерпретатор, който работи за Standard Pascal. Известни са в режим на "видима„видима изпълнение"изпълнение“, който показва стартирана програма и неговите променливи и изчерпателна проверка на грешка при изпълнение. Работи под DOS, Windows в прозорец DOS, и стари Macintosh.
 
Extended Pascal Compiler Dr.Pascal тестван на DOS, Windows 3.1, 95, 98, NT.
Line 286 ⟶ 284:
P5 компилатор, е адаптация на P4.
 
Turbo Pascal е доминиращият Pascal компилатор за персонални компютри през 80-те и началото на 90-те години на 20 век, както поради своите мощни разширения и изключително кратко време на компилация.
 
IP Pascal Осъществява езикът "Паскалин"„Паскалин“ (кръстен калкулатор Паскал), която е силно удължен Pascal съвместим с оригиналния Pascal, съгласно ISO 7185. Той разполага модули с контрол пространство от имена, включително паралелни възлагане на задачи, обекти, динамични масиви от всякакъв размери, които се разпределят по време на изпълнение, претоварвания, замени, както и много други разширения. IP Pascal има вграден преносимост библиотека, която е по поръчка, съобразени с езика Pascal. Например, стандартно приложение текст извежда от 1970 оригинален Pascal може да се прекомпилирани да работят в един прозорец и дори имат добавени графични конструкции.
 
Pascal-XT е създаден от Siemens за тяхното мейнфрейм операционни системи BS2000 и SINIX.
Line 294 ⟶ 292:
PocketStudio е подмножество Pascal компилатор и RAD инструмент за Palm OS и MC68xxx процесори с някои собствени разширения за подпомагане на взаимодействие с Palm OS API. Той прилича на Delphi и Лазар по дизайнер, обект инспектор и изходния код редактор.
 
MIDletPascal - – Е Pascal компилатор и IDE, който генерира малък и бърз Java байткод специално предназначена за създаване на софтуер за мобилни телефони
Vector Vector Pascal Pascal е език за SIMD инструкции комплекти като MMX и AMD 3d, поддържащо всички процесори на Intel и AMD, и PlayStation 2 Emotion Engine на Sony.
 
Morfik Pascal позволява разработването на уеб приложения изцяло написани на Object Pascal (и двата сървъра и странични браузър).
 
WDSibyl - – Visual Environment развитие и Pascal компилатор за Win32 и OS / 2
 
AmigaPascal - – AmigaPascal, безплатна Pascal-Compiler за Amiga-Computer.
 
'''IDE's'''
Line 307 ⟶ 305:
Dev-Pascal Е Pascal IDE, който е проектиран в Borland Delphi и който подкрепя Free Pascal Абонамент GNU Pascal.
 
Lazarus е безплатна Delphi междуплатформено IDE за бърза разработка на приложения (RAD). Въз основа на Free Pascal, Лазар е достъпна за множество платформи, включително Linux, FreeBSD, Mac OS X и Windows Microsoft.
 
Code Typhon е Pascal IDE построен като дълга версия на Лазар с много пакети, изпратени и скриптове. Code Typhon е проектирана през свободното Паскал и поддържа Object Pascal, Turbo Pascal и Delphi също. Програмистите могат да изградят всяка програма за всяко устройство.
 
 
== Външни препратки ==
Line 316 ⟶ 313:
* [http://www.dmoz.org/Computers/Programming/Languages/Pascal/Tutorials/ Open Directory Project: Pascal tutorials directory] – Други уроци по Pascal.
* [http://pascalgamedevelopment.com/ Pascal Game Development] – Сайт за правене на игри на Pascal ([[Free Pascal]], [[Delphi]] и [[Kylix]])
* [http://pascal-central.com/ pascal-central.com - – created for the Pascal community] – създаден за Паскал общността.
[[Категория:Езици за програмиране]]