Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Compilers/bg: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-[[Basic Pascal Tutorial/History/bg|◄]] | [[Basic Pascal Tutorial/Contents/bg|▲]] | [[Basic Pascal Tutorial/Hello, World/bg|►]]
2----|---|---
3-
4-
5-
6-## Contents
7-
8- * 1 Компилатори на езика Паскал
9- * 1.1 Относно компютърните езици и компилаторите
10- * 1.2 Повече за компилаторите
11- * 1.3 Компилатори с отворен код
12- * 1.4 Виж също
13-
141## Компилатори на езика Паскал
152
16-_(author: Tao Yue, state: changed)_
3+*(author: Tao Yue, state: changed)*
174
18-Този документ ще обясни основите на компилаторите, както и връзки към добре познатите компилатори на Pascal и ще обясни как да настроите Free Pascal.
5+Този документ ще обясни основите на компилаторите, както и връзки към добре познатите компилатори на Pascal и ще обясни как да настроите Free Pascal.
196
207### Относно компютърните езици и компилаторите
218
22-Когато говорим за компютърни езици, има основно три основни термина, които ще бъдат използвани.
9+Когато говорим за компютърни езици, има основно три основни термина, които ще бъдат използвани.
2310
24- 1. **Машинен език** \- действителен двоичен код, който описва основни инструкции на процесора на компютъра. Това обикновено са много прости команди като добавяне на две числа или преместване на данни от едно място в паметта в друго.
25- 2. **Асемблерен език** \- начин хората да програмират компютри директно, без да запомнят комбинации от двоични числа. Представлява директно съответствие с машинния код. Например в машинния език Intel x86 ADD и MOV са мнемоника за операции по добавяне и преместване.
26- 3. **Език на високо ниво** \- позволява на хората да пишат сложни програми, без да преминават стъпка по стъпка. Езиците на високо ниво включват Pascal, C, C ++, FORTRAN, Java, Visual Basic, C #, Java и много други. Една команда на език от високо ниво, като напр. запис на низ във файл, може да се преведе на десетки или дори стотици инструкции на машинен език.
11+1. **Машинен език** - действителен двоичен код, който описва основни инструкции на процесора на компютъра. Това обикновено са много прости команди като добавяне на две числа или преместване на данни от едно място в паметта в друго.
12+2. **Асемблерен език** - начин хората да програмират компютри директно, без да запомнят комбинации от двоични числа. Представлява директно съответствие с машинния код. Например в машинния език Intel x86 ADD и MOV са мнемоника за операции по добавяне и преместване.
13+3. **Език на високо ниво** - позволява на хората да пишат сложни програми, без да преминават стъпка по стъпка. Езиците на високо ниво включват Pascal, C, C ++, FORTRAN, Java, Visual Basic, C \#, Java и много други. Една команда на език от високо ниво, като напр. запис на низ във файл, може да се преведе на десетки или дори стотици инструкции на машинен език.
2714
28-Микропроцесорите могат да изпълняват директно само програми за машинен език. Асемблерните програми се "асемблират" или превеждат на машинен език. По същия начин програмите, написани на езици на високо ниво като Pascal, също трябва да бъдат преведени на машинен език, преди да могат да бъдат стартирани. Да направите този превод означава да "компилирате" програмата.
15+Микропроцесорите могат да изпълняват директно само програми за машинен език. Асемблерните програми се "асемблират" или превеждат на машинен език. По същия начин програмите, написани на езици на високо ниво като Pascal, също трябва да бъдат преведени на машинен език, преди да могат да бъдат стартирани. Да направите този превод означава да "компилирате" програмата.
2916
30-Програмата, която извършва превода на машинен език, се нарича **компилатор**. Тази програма е доста сложна, тъй като не само създава инструкции за машинен език от редове код, но често също така оптимизира кода, за да работи по-бързо, добавя код за коригиране на грешки и свързва кода с подпрограми, съхранявани другаде. Например, когато кажете на компютъра да отпечата нещо на екрана, компилаторът превежда това като извикване на предварително написан модул. След това вашият код трябва да бъде свързан с кода, който производителят на компилатора е предоставил.
17+Програмата, която извършва превода на машинен език, се нарича **компилатор**. Тази програма е доста сложна, тъй като не само създава инструкции за машинен език от редове код, но често също така оптимизира кода, за да работи по-бързо, добавя код за коригиране на грешки и свързва кода с подпрограми, съхранявани другаде. Например, когато кажете на компютъра да отпечата нещо на екрана, компилаторът превежда това като извикване на предварително написан модул. След това вашият код трябва да бъде свързан с кода, който производителят на компилатора е предоставил.
3118
32-С езиците на високо ниво отново има три основни термина, които трябва да запомните:
19+С езиците на високо ниво отново има три основни термина, които трябва да запомните:
3320
34- 1. Изходен код (Source code) -- кодът, който пишете. Това обикновено има разширение, което показва използвания език. Например изходният код на Pascal обикновено завършва на "`.pas`", а кодът C++ обикновено завършва на "`.cpp`"
35- 2. Обектен код (Object code) -- резултатът от компилирането. Обектният код обикновено включва само един модул на програма и все още не може да се изпълни тъй като е непълен. В системите DOS/Windows това обикновено има разширение "`.obj`"
36- 3. Изпълним код (Executable code) - крайният резултат. Всички модули на обектния код, необходими за да функционира програма, са свързани помежду си. В DOS / Windows системи това обикновено има разширение на "`.exe`"
21+1. Изходен код (Source code) -- кодът, който пишете. Това обикновено има разширение, което показва използвания език. Например изходният код на Pascal обикновено завършва на "`.pas`", а кодът C++ обикновено завършва на "`.cpp`"
22+2. Обектен код (Object code) -- резултатът от компилирането. Обектният код обикновено включва само един модул на програма и все още не може да се изпълни тъй като е непълен. В системите DOS/Windows това обикновено има разширение "`.obj`"
23+3. Изпълним код (Executable code) - крайният резултат. Всички модули на обектния код, необходими за да функционира програма, са свързани помежду си. В DOS / Windows системи това обикновено има разширение на "`.exe`"
3724
3825### Повече за компилаторите
3926
40-Borland Pascal е де-факто стандартътът в DOS и Windows-базираните Паскал компилатори. Преди да излезе, повечето компилатори бяха непохватни и бавни, отклоняваха се от стандартния Паскал и струваха по няколкостотин долара. През 1984 г. Borland представи Turbo Pascal, който струва по-малко от 100 долара, компилира с порядък по-бързо от съществуващите компилатори и идва с изобилие от изходен код и помощни програми.
27+Borland Pascal е де-факто стандартътът в DOS и Windows-базираните Паскал компилатори. Преди да излезе, повечето компилатори бяха непохватни и бавни, отклоняваха се от стандартния Паскал и струваха по няколкостотин долара. През 1984 г. Borland представи Turbo Pascal, който струва по-малко от 100 долара, компилира с порядък по-бързо от съществуващите компилатори и идва с изобилие от изходен код и помощни програми.
4128
42-Този продукт постигна голям успех и изпъкваше почти десетилетие. Но през 90-те години светът премина към Windows. През 1993 г. излезе последната версия на Turbo Pascal, версия 7 за DOS. След това търсенето на DOS програми спадна и Borland (за кратко известен като Inprise) се съсредоточи върху създаването на Windows IDE/компилатори (например Delphi). По-късно Borland продава своите компилатори на Embarcadero, който все още редовно актуализира Delphi.
29+Този продукт постигна голям успех и изпъкваше почти десетилетие. Но през 90-те години светът премина към Windows. През 1993 г. излезе последната версия на Turbo Pascal, версия 7 за DOS. След това търсенето на DOS програми спадна и Borland (за кратко известен като Inprise) се съсредоточи върху създаването на Windows IDE/компилатори (например Delphi). По-късно Borland продава своите компилатори на Embarcadero, който все още редовно актуализира Delphi.
4330
44-Този учебник ще се занимава само с програмиране в конзола, при което компютърът отпечатва редове с данни на екрана и потребителят взаимодейства с програмата с помощта на клавиатура. Целта на урока е да научи как се програмира на Паскал. След като научите това, можете лесно да разгледате справочник или друга уеб страница и да изберете сами графични и прозоречни системи.
31+Този учебник ще се занимава само с програмиране в конзола, при което компютърът отпечатва редове с данни на екрана и потребителят взаимодейства с програмата с помощта на клавиатура. Целта на урока е да научи как се програмира на Паскал. След като научите това, можете лесно да разгледате справочник или друга уеб страница и да изберете сами графични и прозоречни системи.
4532
46-Въпреки че старите компилатори на Pascal често още са достъпни за изтегляне (например Turbo Pascal 5.5 от [Borland Museum](<http://dn.codegear.com/museum/>) и Symantec Think Pascal (Macintosh), вижте The Free Country's [Free Pascal Compiler List](<http://www.thefreecountry.com/compilers/pascal.shtml>)), компютрите са напреднали много от 80-те и началото на 90-те години. Вече не сме ограничени с 8.3 имената на файлове в DOS или непретенциозна многозадачност в MacOS. Използването на стар компилатор е забавно в същия смисъл, както и играенето на стара игра на емулатор, но Движението за отворен код ([Open-source movement](<https://en.wikipedia.org/wiki/Open-source_movement>)) създаде добри компилатори за съвременните операционни системи и за начинаещите ще бъде много по-лесно да ги използват.
33+Въпреки че старите компилатори на Pascal често още са достъпни за изтегляне (например Turbo Pascal 5.5 от [Borland Museum](http://dn.codegear.com/museum/) и Symantec Think Pascal (Macintosh), вижте The Free Country's [Free Pascal Compiler List](http://www.thefreecountry.com/compilers/pascal.shtml)), компютрите са напреднали много от 80-те и началото на 90-те години. Вече не сме ограничени с 8.3 имената на файлове в DOS или непретенциозна многозадачност в MacOS. Използването на стар компилатор е забавно в същия смисъл, както и играенето на стара игра на емулатор, но Движението за отворен код ([Open-source movement](https://en.wikipedia.org/wiki/Open-source_movement)) създаде добри компилатори за съвременните операционни системи и за начинаещите ще бъде много по-лесно да ги използват.
4734
4835### Компилатори с отворен код
4936
50-Двата основни проекта на компилатор с отворен код са:
37+Двата основни проекта на компилатор с отворен код са:
5138
52- * [GNU Pascal](<http://www.gnu-pascal.de>)
53- * [Free Pascal](<http://www.freepascal.org>)
39+- [GNU Pascal](http://www.gnu-pascal.de)
40+- [Free Pascal](http://www.freepascal.org)
5441
55-Free Pascal обикновено се счита за по-приятелски настроен към начинаещите и се стреми по много начини да подражава на Borland Pascal. Въпреки това и двата могат добре да служат за изучаване на Паскал.
42+Free Pascal обикновено се счита за по-приятелски настроен към начинаещите и се стреми по много начини да подражава на Borland Pascal. Въпреки това и двата могат добре да служат за изучаване на Паскал.
5643
57-Тъй като повечето потребители на учебник ще работят под Windows, ето как да настроите Free Pascal и да достигнете момента, в който ще компилирате програма на съвременната операционна система Windows:
44+Тъй като повечето потребители на учебник ще работят под Windows, ето как да настроите Free Pascal и да достигнете момента, в който ще компилирате програма на съвременната операционна система Windows:
5845
59- 1. Изтеглете инсталатора на Win32 за Free Pascal от [Страница за изтегляне на Free Pascal](<http://www.freepascal.org/download.var>).
60- 2. Стартирайте току-що изтегления файл и преминете през съветника, за да настроите Free Pascal.
61- 3. Отворете Free Pascal с помощта на иконата (по подразбиране той се намира в Start -> Free Pascal.
62- 4. Въведете програма (обърнете се към [[Basic Pascal Tutorial/Hello, World/bg|следващ урок]], за да получите програмата "Здравей, свят.").
63- 5. Запазете файла с File-Save As ...
64- 6. Стартирайте програмата от менюто Run. Това автоматично ще компилира програмата ако сте направили някакви промени. След това стартирайте програмата. Run също така ще стартира програмата без да я компилира ако не сте направили промени от последния път.
46+1. Изтеглете инсталатора на Win32 за Free Pascal от [Страница за изтегляне на Free Pascal](http://www.freepascal.org/download.var).
47+2. Стартирайте току-що изтегления файл и преминете през съветника, за да настроите Free Pascal.
48+3. Отворете Free Pascal с помощта на иконата (по подразбиране той се намира в Start -\> Free Pascal.
49+4. Въведете програма (обърнете се към [[Basic Pascal Tutorial/Hello, World/bg|следващ урок]], за да получите програмата "Здравей, свят.").
50+5. Запазете файла с File-Save As ...
51+6. Стартирайте програмата от менюто Run. Това автоматично ще компилира програмата ако сте направили някакви промени. След това стартирайте програмата. Run също така ще стартира програмата без да я компилира ако не сте направили промени от последния път.
6552
66-При програми, които не очакват потребителя да въведе нещо, ще видите програмата да "премигне" на черен екран. Но програмата свършва след миг и вие се връщате в IDE, без да успеете да видите резултатите от вашата работа. Има два начина това да се избегне:
53+При програми, които не очакват потребителя да въведе нещо, ще видите програмата да "премигне" на черен екран. Но програмата свършва след миг и вие се връщате в IDE, без да успеете да видите резултатите от вашата работа. Има два начина това да се избегне:
6754
68- * Изберете потребителски екран (User screen) от менюто за отстраняване на грешки (Debug), за да видите резултатите от програмата.
69- * Добавете оператор readln в края на всяка програма. Това ще накара програмата да изчака потребителят да натисне клавиша Enter, преди програмата да приключи и да се върне в IDE.
55+- Изберете потребителски екран (User screen) от менюто за отстраняване на грешки (Debug), за да видите резултатите от програмата.
56+- Добавете оператор readln в края на всяка програма. Това ще накара програмата да изчака потребителят да натисне клавиша Enter, преди програмата да приключи и да се върне в IDE.
7057
71-[![Userscreen.png](/wiki-images/1/19/Userscreen.png)](</File:Userscreen.png>)
58+![](/wiki-images/1/19/Userscreen.png)
7259
73-Имайте предвид, че .exe файлът е създаден в директорията, в която сте записали програмата си. Това е изпълнимият файл. Можете да отидете в командния ред (Command Prompt), да отидете в директорията и да стартирате директно този изпълним файл. Можете също да щракнете двукратно върху него в Windows Explorer (и той пак ще "премигне" бързо, ако се изпълни без да се изисква въвеждане от потребителя).
60+Имайте предвид, че .exe файлът е създаден в директорията, в която сте записали програмата си. Това е изпълнимият файл. Можете да отидете в командния ред (Command Prompt), да отидете в директорията и да стартирате директно този изпълним файл. Можете също да щракнете двукратно върху него в Windows Explorer (и той пак ще "премигне" бързо, ако се изпълни без да се изисква въвеждане от потребителя).
7461
7562### Виж също
7663
77- * [[Control Pascal Tutorial]] \- прост начин да започнете без да е необходима инсталация
78- * [[How to start]] \- друг начин да започнете без да е необходима инсталация
79-
80-[[Basic Pascal Tutorial/History/bg|◄]] | [[Basic Pascal Tutorial/Contents/bg|▲]] | [[Basic Pascal Tutorial/Hello, World/bg|►]]
81----|---|---
64+- [[Control Pascal Tutorial]] - прост начин да започнете без да е необходима инсталация
65+- [[How to start]] - друг начин да започнете без да е необходима инсталация
8266
8367---
84-*From the Free Pascal wiki, page "Basic Pascal Tutorial/Compilers/bg", as the Internet Archive kept it on 2022-09-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
68+*From the Free Pascal wiki, page "Basic Pascal Tutorial/Compilers/bg", as it stood on 2022-08-29 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history