Basic Pascal Tutorial/Compilers/bg

From Free Pascal wiki
Jump to navigationJump to search

български (bg) Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

Компилатори на Паскал (автор: Tao Yue, състояние: променен)

Този документ ще обясни основите на компилаторите, както и връзки към добре познатите компилатори на Pascal и ще обясни как да настроите Free Pascal.

Относно компютърните езици и компилаторите

Когато говорим за компютърни езици, има основно три основни термина, които ще бъдат използвани.

  1. Машинен език - действителен двоичен код, който описва основни инструкции на процесора на компютъра. Това обикновено са много прости команди като добавяне на две числа или преместване на данни от едно място в паметта в друго.
  2. Асемблерен език - начин хората да програмират компютри директно, без да запомнят комбинации от двоични числа. Представлява директно съответствие с машинния код. Например в машинния език Intel x86 ADD и MOV са мнемоника за операции по добавяне и преместване.
  3. Език на високо ниво - позволява на хората да пишат сложни програми, без да преминават стъпка по стъпка. Езиците на високо ниво включват Pascal, C, C ++, FORTRAN, Java, Visual Basic, C #, Java и много други. Една команда на език от високо ниво, като напр. запис на низ във файл, може да се преведе на десетки или дори стотици инструкции на машинен език.

Микропроцесорите могат да изпълняват директно само програми за машинен език. Асемблерните програми се "асемблират" или превеждат на машинен език. По същия начин програмите, написани на езици на високо ниво като Pascal, също трябва да бъдат преведени на машинен език, преди да могат да бъдат стартирани. Да направите този превод означава да "компилирате" програмата.

Програмата, която извършва превода на машинен език, се нарича компилатор. Тази програма е доста сложна, тъй като не само създава инструкции за машинен език от редове код, но често също така оптимизира кода, за да работи по-бързо, добавя код за коригиране на грешки и свързва кода с подпрограми, съхранявани другаде. Например, когато кажете на компютъра да отпечата нещо на екрана, компилаторът превежда това като извикване на предварително написан модул. След това вашият код трябва да бъде свързан с кода, който производителят на компилатора е предоставил.

С езиците на високо ниво отново има три основни термина, които трябва да запомните:

  1. Изходен код (Source code) -- кодът, който пишете. Това обикновено има разширение, което показва използвания език. Например изходният код на Pascal обикновено завършва на ".pas", а кодът C++ обикновено завършва на ".cpp"
  2. Обектен код (Object code) -- резултатът от компилирането. Обектният код обикновено включва само един модул на програма и все още не може да се изпълни тъй като е непълен. В системите DOS/Windows това обикновено има разширение ".obj"
  3. Изпълним код (Executable code) - крайният резултат. Всички модули на обектния код, необходими за да функционира програма, са свързани помежду си. В DOS / Windows системи това обикновено има разширение на ".exe"

Повече за компилаторите

Borland Pascal е де-факто стандартътът в DOS и Windows-базираните Паскал компилатори. Преди да излезе, повечето компилатори бяха непохватни и бавни, отклоняваха се от стандартния Паскал и струваха по няколкостотин долара. През 1984 г. Borland представи Turbo Pascal, който струва по-малко от 100 долара, компилира с порядък по-бързо от съществуващите компилатори и идва с изобилие от изходен код и помощни програми.

Този продукт постигна голям успех и изпъкваше почти десетилетие. Но през 90-те години светът премина към Windows. През 1993 г. излезе последната версия на Turbo Pascal, версия 7 за DOS. След това търсенето на DOS програми спадна и Borland (за кратко известен като Inprise) се съсредоточи върху създаването на Windows IDE/компилатори (например Delphi). По-късно Borland продава своите компилатори на Embarcadero, който все още редовно актуализира Delphi.

Този учебник ще се занимава само с програмиране в конзола, при което компютърът отпечатва редове с данни на екрана и потребителят взаимодейства с програмата с помощта на клавиатура. Целта на урока е да научи как се програмира на Паскал. След като научите това, можете лесно да разгледате справочник или друга уеб страница и да изберете сами графични и прозоречни системи.

Въпреки че старите компилатори на Pascal често още са достъпни за изтегляне (например Turbo Pascal 5.5 от Borland Museum и Symantec Think Pascal (Macintosh), вижте The Free Country's Free Pascal Compiler List), компютрите са напреднали много от 80-те и началото на 90-те години. Вече не сме ограничени с 8.3 имената на файлове в DOS или непретенциозна многозадачност в MacOS. Използването на стар компилатор е забавно в същия смисъл, както и играенето на стара игра на емулатор, но Движението за отворен код (Open-source movement) създаде добри компилатори за съвременните операционни системи и за начинаещите ще бъде много по-лесно да ги използват.

Open Source Compilers

The two main open-source compiler projects are:

Free Pascal is generally considered friendlier for novices, and strives to emulate Borland Pascal in many ways, though both will serve fine for learning Pascal.

As most users of this tutorial will be running Windows, here's how to set up Free Pascal and get to the point where you're compiling a program on a modern Windows operating system:

  1. Download the Win32 installer for Free Pascal from the Free Pascal download page.
  2. Run the file you just downloaded and go through the wizard to setup Free Pascal.
  3. Open Free Pascal using the shortcut (by default it is located in Start -> Free Pascal.
  4. Type in a program (flip to the next lesson to get a "Hello, world." program).
  5. Save the file with File-Save As ...
  6. Run the program from the Run menu. This will automatically compile the program if you've made any changes, then run the program. It will also run the program without compiling if you've not made any changes since the last time you compiled.

With programs that don't expect user input, you'll see the program flash on a black screen. But the program completes in the blink of an eye and you are returned to the IDE without seeing the results of your work. There are two ways around this:

  • Select User screen from the Debug menu to see the results of the program.
  • Add a readln statement at the end of every program. This will make the program wait for the user to press the Enter key before the program ends and returns to the IDE.

Userscreen.png

Note that an .exe file was created in the directory where you saved your program. This is the executable. You can go to the Command Prompt, change to the directory, and run this executable straight. You can also double-click on it in Windows Explorer (and it will still flash by quickly if it ends without requiring user input).

See also

 ◄   ▲   ►