Hlavní navigace

Pascal pro Linux

Zdeněk Böhm 29. 6. 2000

Pro vývoj aplikací se v operačním systému Linux používá většinou programovací jazyk C. Má své výhody i nevýhody, ale jejich rozebírání není cílem tohoto článku. Tento článek se zabývá možností psát pod Linuxem programy v Pascalu.

Psaní programů v Pascalu pod operačním systémem DOS, je u nás poměrně dost rozšířené. Zčásti se na jeho popularitě podílí velmi zdařilé překladače (a vývojové prostředí) od firmy Borland, zčásti pak skutečnost, že na mnoha středních školách se vyučují základy Pascalu. V Linuxu se Pascal moc nenosí. Pokud však patříte k jeho příznivcům, není důvod se svého oblíbeného jazyka vzdát. Nabízím vám návod, jak začít.

Free Pascal compiler

Free Pascal compiler je volně šiřitelný 32 bitový překladač jazyka Pascal. Je k dispozici jak pro procesory Intel386, tak pro procesory Motorola řady 680×0 a pro operační systémy Linux, DOS, AmigaOS, OS/2 a Win32.
Autoři tvrdí, že je plně kompatibilní s Turbo Pascalem 7.0., navíc má některá rozšíření převzatá z Delphi.

K překladači je k dispozici celá řada knihoven, např. pro spolupráci s databázemi (PostgreSQL, MySQL), knihovny se šifrovacími funkcemi, knihovna s funkcemi pro dekompresi *.zip souborů atd. Vše je doplněno o jednoduché příklady.
Domovská stránka projektu je na adrese www.freepascal­.org. Na stránce najdete kromě informací o projektu též možnost stáhnout si zdrojové kódy (odkaz Development), binárky pro různé operační systémy (odkaz Download) a velmi kvalitní dokumentaci (More Information → Documentation).

Dokumentace

Dokumentace je ke stažení na adrese http://www.fre­epascal.org/doc­s.html. Je k dispozici ve formátu pdf, html, ps a plain text. Sestává ze čtyř příruček: User's guide, Programmer's guide, Reference guide, Standard units reference manual.
User's guide obsahuje podrobný návod pro instalaci pod všemi podporovanými operačními systémy.
Programmer's guide popisuje direktivy překladače a různé programátorské techniky
Reference guide je vlastně referenční příručka jazyka Pascal, takže zkušení pascalisté ji nejspíš nevyužijí.
Standard units reference manual popisuje jednotlivé knihovny. Pro programátory pod Linuxem (a těm primárně je určen tento text) je velice důležitý zejména popis knihovny LINUX

Instalace a nastavení

Instalaci jsem prováděl pod systémem RedHat Linux 6.0 z RPM balíku. Současná oficiální verze je 0.99.14. Balík se nainstaluje do adresáře /usr/lib/fpc/0­.99.14.
V tomto adresáři jsou dva programy: vlastní překladač – ppc386 a program samplecfg.
Pro úspěšné nastavení překladače spusťte nejprve program samplecfg, který vygeneruje v adresáři /etc soubor ppc386.cfg. Pokud z nějakého důvodu chcete soubor umístit jinam, je to možné, je však třeba nastavit systémovou proměnnou PPC_CONFIG_PATH, aby překladač soubor našel. Je také možné předat překladači všechna nastavení prostřednictvím příkazového řádku.
Dokumentace dále uvádí nastavení dalších systémových proměnných, ale i bez nich se mi povedlo překladač úspěšně rozchodit (popis najdete v User's guide).

Na závěr konfigurace nezapomeňte uložit do adresáře /usr/bin symbolický link na soubor ppc386 – předpokládám, že v $PATH adresář /usr/lib/fpc/0­.99.14 asi nemáte:-).

Tak to tedy vyzkoušíme…

Nyní nezbývá nic jiného, než to prostě zkusit. Přeložíme třeba program Hello World (jeho zdroják tu neuvádím, kdyby někdo nevěděl, jak na to, klidně mi mejlněte :-)).
Za zmínku ještě stojí, že používané rozšíření jmen zdrojových souborů, je kromě klasického *.pas také *.pp.

$ ppc386 hello.pas
Free Pascal Compiler version 0.99.14 [2000/06/16] for i386
Copyright (c) 1993-2000 by Florian Klaempfl
Target OS: Linux for i386
Compiling hello.pas
Fatal: Can't find unit SYSLINUX

Co teď? Rada je jednoduchá. Tento problém způsobuje chyba v konfiguračním souboru ppc386.cfg. Soubor obsahuje, mimo další nastavení, také definici cest ke knihovnám (jsou v /usr/lib/fpc/0­.99.14/units/li­nux), leč program samplecfg pozapomněl na lomítko a tak to budete muset udělat za něj. Najděte řádky začínající na -Fuusr a před „usr“ vražte znak /. Totéž je vhodné udělat na řádcích začínajících -Frusr, které odkazují na soubory, kam se ukládají chybová hlášení.
Tak tedy ještě jednou:

$ ppc386 hello.pas
Free Pascal Compiler version 0.99.14 [2000/06/16] for i386
Copyright (c) 1993-2000 by Florian Klaempfl
Target OS: Linux for i386
Compiling hello.pas
Assembling program
Linking hello
3 Lines compiled, 0.0 sec

Teď si můžete výsledky své práce prohlédnout.

$ hello
Hello world!

Malé hodnocení na závěr

Free Pascal považuji za velmi zajímavý a užitečný projekt, ačkoliv ortodoxní linuxoví programátoři se jím nejspíš zabývat nebudou. Dává však možnost uživatelům, kteří přecházejí z DOSu, „osahat“ si Linux po programátorské stránce pomocí jazyka, který znají.
Součástí projektu Free Pascal zatím není vývojové prostředí (respektive je, ale pouze pro DOS a je zatím v plenkách). Programátoři zvyklí na kvalitní vývojové prostředí dodávané firmou Borland však mohou použít jeho věrnou kopii RHIDE, jehož domovská stránka je na adrese http://www.tu-chemnitz.de/~sho/rho­/rhide/rhide.html.
Dalším zajímavým projektem postaveným nad Free Pascale je Lazarus. Jeho tvůrci si dali za cíl vytvořit „Delphi pro Linux“. Je zatím ve fázi vývoje a dosud se mi ho nepodařilo úspěšně rozjet.

Našli jste v článku chybu?

29. 6. 2000 22:20

Petr Krajca (neregistrovaný)

Mám výbornou zkušenost s FPC, jeho podpora GTK, MySQL, IBASE je téměř 100íky tomu, se v něm dá dělat cokoliv skoro na stejné úrovni jako v GC. Bohužel projekt Lazarus, je zatím v plenkách a prakticky je nepoužitelný - po dvou dnech jeho vlastní kompilace jsem zjistil, že v něm nic pořádného nepřekompiluju. Zatím jsem nezkoušel Kylix (či co, od Inprise), ale FPC má před sebou hezkou budoucnost.

29. 6. 2000 9:32

Ladislav Sobr (neregistrovaný)

Dalsi moznosti je take GNU Pascal:
http://agnes.dida.physik.uni-essen.de/~gnu-pascal/home.html

Co se tyka RHIDE, tak si myslim, ze jeho oficialni stranky jsou zastarale a pan Hohne na nem uz nepracuje. Me se jeho posledni verzi ani na Linuxu nepovedlo rozchodit. Nastesti ma ale nasledovnika, ktery na tom dela dal:
http://home.lanet.lv/~pavenis/rhide.html



Podnikatel.cz: Platební brány a EET? Stále s otazníkem

Platební brány a EET? Stále s otazníkem

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Vitalia.cz: Žloutenka v Brně: Nakaženo bylo 400 lidí

Žloutenka v Brně: Nakaženo bylo 400 lidí

Vitalia.cz: Jak koupit Mikuláše a nenaletět

Jak koupit Mikuláše a nenaletět

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Podnikatel.cz: Dárky v podnikání. Jak je uplatnit v daních?

Dárky v podnikání. Jak je uplatnit v daních?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

DigiZone.cz: Další dva kanály nabídnou HbbTV

Další dva kanály nabídnou HbbTV

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube