Programmation Pascal/Structure d'un programme
Un livre de Wikibooks.
Sections |
[modifier] Instructions et blocs
Une instruction séquence d'instructions regroupe plusieurs instructions en une seule. Celle-ci commence par le mot clé begin et se termine par end. Le ; sert à séparer deux instructions. Voici un exemple :
begin temp := x ; x := y ; y := temp end
Cette instruction Pascal sera traduite par un bloc en Java
{
int temp = x ;
x = y ;
y = temp ;
}
[modifier] Catégorie
Un fichier source Pascal débute toujours par un mot clé indiquant le type de code :
- Un programme, c'est à dire une application indépendante (program) ;
- Un module utilisable dans un programme ou un autre module (unit).
Ce mot clé doit être suivi d'un identifiant (un nom) afin de pouvoir faire référence à ce module ou ce programme.
Afin que le compilateur trouve les modules à partir de leur nom, il faut que le nom du fichier source soit identique : un module nommé par :
unit my_unit;
doit être enregistré dans un fichier nommé my_unit.pas.
[modifier] Exemple 1 : un programme
program first_app; ...
[modifier] Exemple 2 : un module
unit my_unit; ...
[modifier] Exemple 3 : un programme utilisant le module de l'exemple 2
Le mot clé uses spécifie la liste des modules utilisés :
program second_app; uses my_unit; ...
[modifier] Compilation
L'extension des fichiers produits par la compilation varie selon la plateforme utilisée et le compilateur (natif ou P-code).
Cependant, la plupart des compilateurs ne gère pas la compilation en chaîne : chaque module et programme doit être compilé séparemment et deux modules ne peuvent donc s'utiliser mutuellement.
[modifier] Commentaires
Les commentaires sont encadrés par les accolades :
program first_app;
{ ma première application en Pascal }
...
Alternativement, on peut utiliser les parenthèses-étoiles :
program first_app; (* ma première application en Pascal *) ...
Ce qui était plus pratique avec les anciens claviers ne comportant pas les accolades.
Le compilateur Turbo Pascal utilise certains commentaires spéciaux pour préciser des directives de compilations. Ceux-ci débutent par un caractère $, par exemple {$R-,I-} pour désactiver la vérification des erreurs d'intervalle (Range errors) et des erreurs d'entrée-sortie (I/O errors).
[modifier] Structure générale d'un programme
program nom du programme;
uses liste des modules utilisés;
...déclaration des variables globales et des types...
...déclaration des procédures et fonctions...
begin
...instructions de la routine principale...
end.
[modifier] Structure générale d'un module
Le module est divisé en deux grandes parties :
- La partie interface expose les fonctions, procédures, variables et types publiques, c'est à dire accessibles depuis les modules et programmes qui utilisent ce module.
- La partie implementation contient le code implémentant les fonctions et procédures publiques, et peut contenir d'autres variables, types, fonctions et procédures internes au module.
unit nom du module;
interface
uses liste des modules utilisés;
...déclaration des variables globales et des types...
...déclaration des procédures et fonctions...
implementation
uses liste des modules utilisés;
...déclaration des variables globales et des types...
...déclaration des procédures et fonctions...
begin
...instructions d'initialisation du module...
end.