Information Technology Reference
In-Depth Information
Des erreurs peuvent survenir et correspondent à l'utilisation de symboles non
conformes au langage. Ainsi une phrase telle que INT g5 provoquera une erreur lexi-
cale dans le cadre du langage L_exemple car le symbole g ne fait pas partie de
l'alphabet du langage (seules les lettres majuscules sont admises). Par contre la phrase
G 5 = 2; sera reconnue par l'analyseur lexical comme étant équivalente à la suite :
- 17 (G) 5 (5) - 5 (
) 2 (2) - 6 (;).
La phase d'analyse lexicale s'apparente à notre propre processus de lecture qui
nous permet de reconnaître et former les mots dans la suite de caractères d'un texte.
=
3.1.3
Analyse syntaxique
L'étape suivante dans le processus de compilation est celle de l'analyse syntaxique.
L'analyseur syntaxique (figure 3.3) analyse la suite de symboles issus de l'analyseur
lexical et vérifie si cette suite de symboles est conforme à la syntaxe du langage telle
qu'elle est définie par les règles de Backus-Naur. Pour cela, l'analyseur syntaxique
essaye de construire l'arbre syntaxique correspondant au programme. Dans cet arbre,
les feuilles correspondent aux symboles issus de l'analyse lexicale et les nœuds inter-
médiaires correspondent aux objets grammaticaux. Si l'analyseur syntaxique ne
parvient pas à construire l'arbre syntaxique du programme compilé, alors cela traduit
le fait que la syntaxe du programme est erronée.
BNF
A
n
a
l
y
s
e
u
r
l
e
x
i
c
a
l
Suite
de symboles
Arbres
syntaxiques
Analyseur syntaxique
Erreurs de syntaxe
Figure 3.3
Analyseur syntaxique.
L'arbre syntaxique est construit par application successive des règles de Backus-
Naur définissant la syntaxe du langage, à l'ensemble des symboles issus de l'analyse
lexicale. Cette construction se poursuit soit jusqu'à ce que le dernier symbole ait été
pris en compte avec succès (la syntaxe est correcte), soit jusqu'à ce qu'il ne soit plus
possible de faire correspondre aucune des règles de Backus-Naur existantes avec la
suite de symboles restants (la syntaxe est erronée).
Le programme Z donné en exemple au paragraphe 3.1.1 conduit à l'arbre syntaxique
donné par la figure 3.4.
Reprenons à présent la phrase G 5 = 2; reconnue par l'analyseur lexical comme
étant équivalente à la suite : - 17 (G) 5 (5) - 5 (
=
) 2 (2) - 6 (;). L'arbre syntaxique
 
 
Search WWH ::




Custom Search