Introduction au Pascal GNU

Dernière mise à jour : 28 Avril 2010


  1. Introduction
  2. Installation sous Linux
    1. Obtention du compilateur
    2. Installation de la librairie graphique GRX
    3. Programmes additionnels
    4. Lecture de la documentation
  3. Installation sous Windows et DOS
  4. Utilisation de GPC
    1. Remarques préliminaires
    2. Compilation d'un programme simple
    3. Compilation d'une unité
    4. Compilation d'un programme utilisant des unités
    5. Compilation d'un programme graphique
  5. Conclusion

I. Introduction

Le Pascal GNU (GNU Pascal Compiler, GPC) est un compilateur 32 bits gratuit, disponible sur de nombreuses plate-formes, notamment DOS, Windows et Linux.

GPC est partiellement compatible avec Turbo Pascal mais il possède de nombreuses extensions, notamment dans le domaine scientifique. Il permet aussi d'intégrer des parties écrites dans d'autres langages tels que le C ou le Fortran.

Dans cette introduction, nous supposerons que vous avez une connaissance élémentaire de Turbo Pascal.


II. Installation sous Linux


II.A. Obtention du compilateur


II.B. Installation de la librairie graphique GRX

GRX est une librairie graphique très complète, utilisable aussi bien avec le C qu'avec le Pascal, et permettant entre autres d'émuler l'unité Graph du Turbo Pascal. Nous décrivons ici l'installation de la version 2.4.8

Pour installer GRX sous Linux :

  1. Téléchargez le fichier http://grx.gnu.de/download/grx248.tar.gz puis décompactez-le :

        tar -xvzf grx248.tar.gz
    

    Ceci créera le répertoire grx248 où seront placés les fichiers sources.

  2. Allez dans ce répertoire et éditez le fichier makedefs.grx, en vous assurant que la variable INCLUDE_GPC_SUPPORT est à "y"
  3. Lancez la compilation par :

        make -f makefile.lnx
    

    (ou makefile.x11 si vous voulez la version fonctionnant sous X)

    Ceci créera les librairies libgrx20.a (ou libgrx20X.a) et libgrx20.so.2.4.8 (ou libgrx20X.so.2.4.8) dans le sous-répertoire lib/unix

  4. Note pour l'installation des fichiers de fontes (*.chr) : Ces fichiers ne figurent pas dans la distribution GRX. Il faut les obtenir à partir d'un logiciel Borland (p. ex. Turbo Pascal) et les placer dans le sous-répertoire chr du répertoire GRX. Il faut ensuite y exécuter le script addfonts.sh ou addfonts.x11 Cette opération incorporera les fontes aux librairies déjà compilées.
  5. Copiez les librairies dans un répertoire, p.ex. /usr/local/lib. Si nécessaire, ajoutez le nom de ce répertoire dans le fichier /etc/ld.so.conf afin que le compilateur puisse localiser automatiquement les librairies.
  6. Copiez l'unité graph.pas (située dans le sous-répertoire pascal/bgi) dans le répertoire des unités de GPC. Pour connaître ce répertoire, tapez :

        gpc --print-file-name=units
    


II.C. Programmes additionnels

Les programmes suivants peuvent être utiles :


II.D. Lecture de la documentation

La documentation de GPC est au format Info. Pour la consulter, tapez :

    info -f gpc


III. Installation sous Windows et DOS


IV. Utilisation de GPC


IV.A. Remarques préliminaires

  1. Nous prendrons comme exemple une utilisation sous Linux. C'est pratiquement pareil sous DOS, il suffit d'ajouter le suffixe .exe aux noms des programmes exécutables.
  2. Nous supposerons que vous travaillez directement depuis la ligne de commande. Si vous utilisez RHIDE, la compilation et l'exécution des programmes peuvent être lancées à partir de l'environnement (tout comme dans Turbo Pascal).

IV.B. Compilation d'un programme simple

A l'aide d'un éditeur de texte, saisissez l'exemple suivant (ou tout autre exemple de votre choix) dans un fichier test.pas :

program Test;
begin
  Writeln('Bienvenue dans GNU Pascal !');
end.

puis compilez-le avec :

gpc test.pas -o test

(l'option -o sert à préciser le nom de l'exécutable)

Vous obtiendrez un "hénaurme" fichier exécutable test que vous pourrez lancer (par ./test) pour contempler l'incontournable message de bienvenue ;-)

Vous pouvez réduire la taille de l'exécutable avec l'option -s qui évite d'inclure l'information de débogage :

gpc test.pas -s -o test

Si vous avez installé UPX, vous pouvez encore compacter en faisant :

upx test


IV.C. Compilation d'une unité

Tout comme Turbo Pascal, GPC peut créer des unités. Voici un exemple (usphere.pas) :

unit USphere;
{ Quelques calculs geometriques sur la sphere }

interface

function Surf_Sphere(R : Real) : Real;
{ Calcule la surface d'une sphere de rayon R }

function Vol_Sphere(R : Real) : Real;
{ Calcule le volume d'une sphere de rayon R }

implementation

const
  C_4Pi     = 4.0 * Pi;                  { Pi est une constante predefinie }
  C_4PiSur3 = C_4Pi / 3.0;

function Surf_Sphere(R : Real) : Real;
begin
  Surf_Sphere := C_4Pi * Sqr(R);         { 4 * Pi * R^2 }
end;

function Vol_Sphere(R : Real) : Real;
begin
  Vol_Sphere := C_4PiSur3 * R * Sqr(R);  { 4/3 * Pi * R^3 }
end;

end.

On compile avec :

gpc -c usphere.pas

(l'option -c indique qu'il n'y a que la compilation, sans édition de liens).

On obtient deux fichiers : usphere.o et usphere.gpi


IV.D. Compilation d'un programme utilisant des unités

Soit le programme suivant (sphere.pas) :

program Sphere;

uses
  USphere;

var
  R, S, V : Real;

begin
  Writeln;
  Write('Rayon de la sphere : ');
  Readln(R);

  S := Surf_Sphere(R);
  V := Vol_Sphere(R);

  Writeln;
  Writeln('Surface   : ', S:10:4);
  Writeln('Volume    : ', V:10:4);
end.

On compile avec :

gpc sphere.pas --automake -o sphere

On obtient ainsi le programme exécutable, sphere, que l'on peut lancer.

L'option --automake (notez les deux tirets) signifie qu'il faut recompiler les unités lorsqu'elles ont été modifiées.

Pour automatiser toutes ces opérations, on peut faire un script shell, par exemple :

gpc $1.pas -s --automake -o $1
upx $1

Ce script étant sauvegardé dans un fichier, p. ex. gp, il suffira de faire :

gp prog

pour compiler le programme prog.pas


IV.E. Compilation d'un programme graphique

Si vous avez installé la librairie GRX, vous pouvez émuler l'unité Graph de Turbo Pascal en insérant la clause uses Graph dans vos programmes.

Vous pouvez dès lors compiler vos programmes avec une instruction du type :


V. Conclusion

GNU Pascal est un logiciel très puissant mais difficile à maîtriser.

Nous avons exposé son installation et donné quelques exemples d'utilisation. Nous verrons prochainement les extensions scientifiques de GNU Pascal.



Retour à la page d'accueil