Next: Fortran
Up: Programovací prostředky
Previous: Jazyk c
Existují dva prostředky: překladač p2c (z Pascalu do c) a velmi
kvalitní skutečný kompilátor GPC (volá se pomocí gpc, resp.
pc), který vychází ze standardu ISO. S překladačem nemám vlastní
zkušenosti, pokud sleduji USENET, je většinou nutné po překladu ještě
vynaložit jisté úsilí. Pro překlad kódu v TurboPascalu existuje speciální
include-file, který to má usnadnit (podrobněji viz v adresáři
/usr/lib/gcc-lib/i486-linux/2.5.8).
Převodem kódu z TurboPascalu do GPC jsem se zabýval, a proto mohu shrnout
své zatímní zkušenosti:
- a) soubor obsahující program je samozřejmě napřed třeba zbavit znaků
CR (^M) na konci řádků. Pokud používáme češtinu, je třeba (např.\
pomocí cstocs) změnit kódování na ISO-Latin 2.
- b) Provádí-li program vstup/výstup prostřednictvím
klávesnice/obrazovky, je třeba doplnit hlavičku o výraz
(input,output).
- c) GPC nezná příkaz assign, k přiřazování souborů používá
o něco vyspělejší příkaz bind. Napomůžeme tomu tak, že vytvoříme
proceduru assign sami a umístíme ji před programovou jednotku,
v níž je poprvé volána:
PROCEDURE assign(var f:text; s:string);
var b:BindingType;
begin
unbind(f);
b := binding(f);
b.name := s;
bind(f, b);
b := binding(f);
if not b.bound then
writeln('Soubor nebyl svázán ');
end;
- d) Odstraníme volání USES crt, a pod.
- e) Náhrada grafické knihovny BGI (platí i pro převody z TurboC do
gcc): pro X-windows je k disposici dvojice knihoven Xbgi, Xrot, které
BGI nahradí. Před vlastní pascalovský program je třeba DO TÉHOŽ SOUBORU
vložit modul (soubor /usr/doc/xbgi/xbgi.p), který zavádí odkazy,
a na začátek vlastního programu umístit odkaz
Import BgiGraphics;
- f) BGI zavádí řadu konstant, jejichž číselné hodnoty tento modul
nezahrnuje. Je proto vhodné mít k disposici manuál BGI a hodnoty výše
zmíněných konstant podle potřeby doplnit.
- g) Kompilaci je třeba provádět s použitím
gpc program.p -lXbgi -lXrot -lX11
Jan Kučera
Fri May 1 18:14:48 CEST 1998