Introduction Générale
Table des matières
1. Notations et conventions
Ce manuel introduit, décrit et illustre la syntaxe du langage
PASCAL. Il présente les normes du PASCAL "standard" ainsi que
les particularités propres au PASCALUVA.
Pour qu'un programme soit syntaxiquement correct, il doit
respecter rigoureusement la syntaxe du langage. Cette syntaxe
est décrite dans le présent manuel au moyen de diagrammes
syntaxiques. Ces derniers sont composés de :
- flèches qui précisent l'ordre dans lequel doivent être
placés les constituants de la notion décrite; elles
indiquent aussi les alternatives possibles pour chacun des
constituants;
- cadres rectangulaires qui représentent les notions déjá
décrites ou á définir;
cercles ou ellipses qui entourent des caractères, des mots
- clés du langage ou des concepts ne demandant pas de
définitions complémentaires.
Exemple
Les diagrammes syntaxiques suivants décrivent la syntaxe d'un nom
de personne (dans le langage courant).
Un nom de personne est donc constitué
- d'un titre
- suivi d'un nom
éventuellement précédé d'un certain nombre de fois :
- un nom
- ou une lettre suivie d'un point.
Un nom est une suite de lettres. Un titre est "M.", "Mme" ou
"Melle".
Par exemple
- Mme Monique Canivez
- M. John F. Kennedy
sont des noms de personnes. Par contre,
ne respecte pas la syntaxe des noms de personnes : il faut écrire
Melle et non melle, la suite de caractères S. doit précéder le
nom Dewlof.
2. Structure générale
Voici un programme PASCAL syntaxiquement correct (peu importe ce
qu'il fait).
program premier (input,output);
var prem : Boolean;
a,b : integer;
begin
while not eof do
begin
read(a);
b := 2;
prem := true;
while (b* b <= a) and prem do
begin
prem := (a mod b) <> 0; { reste de la division non nul }
b := b+1
end; { while }
write(a);
if prem then writeln (´ est un nombre premier´)
else writeln (´ n´´est pas un nombre premier´)
end { while not eof }
end {premier}.
Un tel programme peut être vu comme une suite de "mots" séparés
par des signes tels que :=, *, +, =<. Mais tous ces "mots"
n'ont pas le même rôle. Ceci explique les différentes conventions
typographiques utilisées dans les programmes donnés en
exemples dans ce manuel :
- les mots en gras désignent les motsclés du langage,
c'estádire des mots dont l'utilisateur ne peut redéfinir
le sens;
- les mots en italiques désignent les commentaires; ils
doivent se trouver entre accolades, et peuvent apparaître
n'importe où dans le programme, sauf á l'intérieur des mots
clés ou des noms; les commentaires sont indications
destinées á des lecteurs humains, le compilateur les ignore.
(sauf, en Turbo-PASCAL uniquement, certains commentaires
qui contiennent des directives destinées au compilateur).
- les autres mots sont des identificateurs que l'utilisateur a
définis, ou des identificateurs prédéfinis, que
l'utilisateur peut éventuellement redéfinir.
D'autre part, l'ordre dans lequel ces mots apparaissent n'est pas
quelconque ! Il est obligatoire de respecter certaines règles
pour qu'un programme soit syntaxiquement correct. Par exemple,
les déclarations (var... dans le programme cidessus) doivent se
trouver en tête.
C'est ainsi que la structure d'un programme PASCAL peut être
représentée par les diagrammes syntaxiques suivants :
- Le nom du programme est un identificateur attribué au
programme; il n'a qu'un sens mnémotechnique. Il n'y a pas de
relation entre le nom d'un programme et le nom d'un fichier
UNIX contenant le texte de ce programme.
- Tout identificateur est une suite non vide de caractères
alphanumériques dont le premier est nécessairement
alphabétique.
- Chacune des cinq premières parties du bloc peut être vide.
Il faut noter l'ordre très rigide des parties qui ne sont pas
vides.
- Les identificateurs qui figurent après le nom du programme
correspondent á des noms de fichiers utilisés par le
programme pour y lire des données et y écrire des résultats
(cfr Ch 5
et Ch 10).
Selon la définition officielle du langage PASCAL,
le nom d'un programme ne doit
pas nécessairement être suivi d'une liste de noms de fichiers
entre parenthèses. Mais un programme qui ne lirait aucune
donnée et ne produirait aucun résultat ne serait pas très
utile ! Cependant, en Turbo-PASCAL, l'en-tête de
programme est purement décoratif; il peut être mis sur le même
pied qu'un commentaire, car le compilateur ne tient pas compte des
informations qui s'y trouvent. Le programme peut y faire figurer les
noms de fichiers utilisés dans le programme s'il juge, par exemple, que
cela en augmente la clarté.
- Il ne peut y avoir de déclarations et de définitions (cfr
Partie I) qu'en début de bloc.
- La partie instruction du bloc est une instruction composée
(cfr Ch 8.1)
, c'estádire une suite
d'instructions entourées des mots begin et end.
- Un programme se termine toujours par un point (o) .
- Contrairement á certaines autres versions du PASCAL, le PASCALUVA
et le Turbo-PASCAL ne font pas de différence, dans le
texte d'un programme,
entre majuscules et minuscules. Par exemple, NbreMax,
NBREMAX et nbremax seront considérés comme trois
identificateurs identiques.
La structure du présent manuel se base sur la structure d'un
programme PASCAL présentée par les diagrammes syntaxiques :
L'attention du lecteur est attirée sur l'existence de l'
Annexe I,
qui contient des remarques sur l'usage du PASCAL. Il en fera
une lecture attentive.