next up previous
Next: Fortran Up: Programovací prostředky Previous: Jazyk c

Pascal

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