To compile and run Pascal programs, you will need
the Free Pascal compiler
a text editor or IDE (integrated development environment) for editing your code
If you are in the lab here at the MFF, you don't need to do anything: Free Pascal is already installed on all UNIX and Windows machines.
To install Free Pascal on your own computer:
You should be able to get Free Pascal from your package manager.
On Ubuntu, type "
sudo apt-get install fpc".
This will take some time because you must first download and install Apple's Xcode, which is a required dependency. You can get Xcode for free from the App Store on macOS. It is a 5 Gb download, and will take 20-30 minutes to install after it's downloaded!
After you've installed Xcode, open a terminal window and run "xcode-select --install". Then go here, choose a mirror (except SourceForge) and download the first installation package at the bottom of the page. Run the downloaded installer.
Go here, select a mirror (except SourceForge) and click the link under "Download native compiler". Run the downloaded installer.
You may use any editor you like to edit Pascal code.
If you are unsure, I recommend Geany. It's a programmer's editor with built-in support for Free Pascal, which makes it very easy to use.
On Linux, you should be able to install Geany from your package
manager. On Ubuntu, type "
sudo apt-get install geany".
On macOS or Windows, you can download a Geany installer from here.
Geany is not yet preinstalled on Windows machines in the computer lab at the MFF. But you can install it yourself there easily. There is only one problem: the Geany user interface will appear in Czech!
To fix that, download geany_english.bat and save it to the desktop. When you click this file, Geany will launch in English.
To build a Pascal program in Geany:
Use File/New (or type ctrl-N, or click the new file toolbar icon) to create a new file.
Enter your program text. You might try a "hello, world" program first.
Save the file somewhere, choosing a filename ending in '.pas'. You cannot build before you save.
Use Build/Compile to build your program (or press F8, or click the Compile icon.
To run your program, choose Build/Execute, or press F5, or click the Run icon.
On Linux or macOS, you can configure Geany so that it can
automatically format your Pascal code with just a couple of
keystrokes, using the
ptop code formatter that comes
with Free Pascal. To set this up:
(a shell script) and
and save them in some directory.
pformat executable. (From the command
line, you can run
chmod u+x pformat .)
In Geany, choose Edit→Format→Send Selection to→Set Custom Commands.
In the Set Custom Commands dialog, click Add. In the
Command field, type either just
pformat (if it is in
your PATH) or the full path to
pformat (if it is not).
Now, to format Pascal code in a Geany editor window:
Press Ctrl+A (Linux) or Command+A (macOS) to select your entire program.
Press Ctrl+1 (Linux) or Command+1 (macOS). Your code will be reformatted.
On Windows, the steps in the previous section will not work, but you can still reformat your Pascal code from the command line:
ptop.cfg and save it in some
To format the program
C:> ptop -c ptop.cfg my_program.pas my_program_out.pas
Your formatted code will appear in the file
You could use Lazarus, a Pascal IDE that's preinstalled on lab machines. It is a larger and more complex program than editors such as Geany.
To build a Pascal program in Lazarus:
Launch Lazarus and close all the windows that appear except the top window with the menu bar.
Choose File/New... In the dialog that appears, choose Simple Program and press OK.
Enter your program text. If you want to run your program directly from Lazarus, you should add this line at the end of your program:
That's because otherwise the window will close instantly when your program finishes executing. This extra line will prevent the window from closing until you press Enter.
On Windows and possibly macOS, you can now launch your program from Lazarus via the Run/Run command. On UNIX I have been unable to get this to work, so you'll need to run your program from the command line as described under "Other editors" below.
I do not recommend the Free Pascal IDE, which is preinstalled on lab machines but which uses an ugly ancient text-based interface.
You may use any other editor you like. If you cannot compile Pascal programs from within your editor, you'll need to do that on the command line. To do that, open a terminal window, use the cd command to move to the directory where your program file is stored, and type
$ fpc myprog.pas
If there are errors, you'll need to look at the line number in the error messages and use your editor to manually find these lines. That's a pain, which is why I recommend using Geany, Lazarus or another editor with built-in support for compiling Pascal programs.
Geany and Lazarus know how to launch the Free Pascal compiler automatically. Or you can run it manually from the command line, like this:
$ fpc hello.pas
On every successful build, you'll see this warning message:
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
This warning is benign and can be ignored. (It has been fixed in the development build of FPC 3.1.1, which has not yet become an official release.)
If you don't want to see this warning on Linux or macOS, create a
fpc1 containing this:
#!/bin/bash set -o pipefail fpc $* |& grep -v 'contains output sections'
If you use
fpc1 to build, this warning will be skipped.