Hlavní navigace

Pascal pro Linux

Zdeněk Böhm

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?