Information Technology Reference
In-Depth Information
<déclaration> :: = INT <identificateur>;
<
suite d'affectations
>
::
=
<
affectation
>
|
<
affectation
>
<
suite
d'affectations>
<affectation> :: = <identificateur> = <terme>; |
<identificateur> = <terme> <opérateur> <terme>;
<terme> :: = <entier> | <identificateur>
<
| - | * | /
<identificateur> :: = <lettre> | <lettre> <chiffre>
<entier> :: = <chiffre> | <entier> <chiffre>
<lettre> :: = A | B | C | D | E. | … | X | Y | Z
<chiffre> :: = 0 | 1 | 2 | 3 | 4. | .. | 9
opérateur
>
::
=
+
Ainsi, la première règle spécifie que l'objet programme est construit à partir du
symbole terminal PROGRAM suivi d'un objet
<
identificateur
>
et d'un objet
<
corps
de programme
est lui-même décrit comme étant composé
soit d'une lettre seule, soit d'une lettre suivie d'un chiffre. Les lettres admises sont
les 26 lettres majuscules de l'alphabet et les chiffres admis sont les chiffres allant
de 0 à 9. L'objet
>
. Un objet
<
identificateur
>
<
corps de programme
>
est par ailleurs défini comme étant un objet
<
suite de déclarations
>
suivi du symbole terminal DEBUT, suivi d'un objet
<
suite
d'affectations
suivi du symbole FIN. Et ainsi de suite…
Le programme Z suivant a été écrit en respectant la syntaxe dictée par ces règles.
>
PROGRAM Z
INT A;
INT B;
INT C2;
DEBUT
A = 4;
B = A / 2;
C2 = B + A;
FIN
3.1.2
Analyse lexicale
La première étape de l'opération de compilation s'appelle l'analyse lexicale .
L'analyseur lexical (figure 3.2) lit le programme source caractère par caractère, et
reconnaît dans cette suite de caractères les lexèmes du langage en s'appuyant sur les
règles de Backus Naur les définissant. Par ailleurs, l'analyseur lexical élimine les
espaces non significatifs et les commentaires qui n'ont pas de signification propre.
Pour rendre plus aisées les étapes ultérieures, il traduit les lexèmes reconnus qui
constituent des chaînes de caractères en symboles plus aisément manipulables, par
exemple en entiers.
 
 
Search WWH ::




Custom Search