Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum
4. ERREURS SYNTAXIQUES ET ERREURS SEMANTIQUES
Un langage de programmation peut être décrit par les mêmes 3 niveaux :
le vocabulaire, appelé lexique ;
la grammaire, appelée syntaxe ;
le sens, appelé sémantique.
Les unités lexicales d'un langage décrivent ses composants de base, les "mots" de son
vocabulaire (identificateurs et les mots-clés). La plupart des langages sont fondés sur
des vocabulaires très proches (begin, end, while, if, repeat, etc.).
La syntaxe d'un langage décrit les façons correctes d'assembler des unités lexicales pour
écrire des programmes. Un programme syntaxiquement correct peut encore être erroné s'il
contient des erreurs sémantiques.
La sémantique d'un langage de programmation est la description du sens des
constructions du langage. Exemple « utiliser une variable vide dans les traitements ».
Une erreur syntaxique est découverte lors de la phase de compilation, par exemple si tu
écris "Wihle" a la place de "while", alors que l'erreur sémantique est découverte lors de
l'exécution.
Le compilateur est un logiciel qui lit (analyse) un programme et le traduit en code
machine, directement exécutable par le processeur de l'ordinateur.
5. LE LANGAGE PASCAL
Pascal est un langage de programmation impératif, conçu pour le
domaine éducatif, il se caractérise par une syntaxe claire et facilitant
la structuration des programmes. Ce langage a été inventé par Niklaus
Wirth dans les années 1970. En général, on reconnaît un programme
en Pascal par l’extension du fichier qui le contient : .pas, .p ou .pp, les
deux dernières étant plus fréquentes sur les systèmes de type UNIX.
A. LA STRUCTURE GENERALE D’UN PROGRAMME ECRIT EN PASCAL
Un programme Pascal est composé d’un :
1. En-tête : L'entête est composé du mot clés PROGRAM, suivi du nom du
programme (cercle).
2. Les déclarations des variables et des constantes:
3. Le corps de programme: Contient les instructions (délimitées par les mots clés
BEGIN et END).
PROGRAM cercle; (* entête *)
Const
P=3.141592; (* déclarations *)
VAR
perimetre, diametre : REAL; (* déclarations *)
BEGIN
readln(diametre);(* instruction *)
perimetre := p * diametre; (* instruction *)
writeln(diametre, perimetre) (* instruction *)
END.