Compil
Programme
Source
Analyse
Lexicale
Entités lexicales Analyse syntaxique L'analyse lexicale a pour but , à partir du programme source, suite de caractères, de former des entités lexicales. L'analyse syntaxique a pour rôle la vérification de la forme ou encore de l'écriture de la suite des entités lexicales, on parlera alors de la syntaxe du langage .
La vérification est faite à l'aide de la grammaire spécifique au langage appelée grammaire syntaxique .
I. Définitions :
Définition d'une grammaire syntaxique :
C'est une grammaire formée de règles de production permettant d'engendrer tous les programmes écrits dans un langage donné .
Exemple : Soit la grammaire des expériences arithmétiques : # / + / + i / ()
Remarques :
• L'entité entre < > est appelée NON TERMINAL.
• Chacune des règles de type .
Notion de dérivation :
Les opérations consistent à remplacer au fur et à mesure en partant de l'axiome des non-terminaux par leurs MDP sont appelées Dérivations .
Exemple : Soit la chaine : i + i * i #
#
+
i
*
i
i
-1-
OpenMindStudents.org 2009
Notion de réduction :
C'est l'inverse de la dérivation , elle consiste à remplacer , une fois que l'on reconnaît un
MDP par la partie gauche (MGP), ainsi jusqu'à arriver à l'axiome .
Notion d'arbre syntaxique :
C'est un arbre dont la racine est l'axiome de la grammaire syntaxique, les nœuds représentent les MDP et les feuilles terminales, la chaine à analyser syntaxiquement
Deux méthodes sont utilisées pour la construction d'un arbre syntaxique :
1. À partir de l'axiome, on effectue une série de dérivations jusqu'à atteindre la chaine à analyser, c'est le cas descendant .
2. À partir de la chaine à analyser, on effectue des réductions jusqu'à arriver à l'axiome, c'est le cas ascendant .
Remarque : Un arbre qui a deux fis est dit binaire .
Notion d'ambiguïté :
On dit qu'une