compilation

Pages: 33 (8238 mots) Publié le: 17 décembre 2014
SAOUDI Lalia

Analyse Syntaxique 2007/2008

III. Analyse syntaxique :
Le rôle principal de l’analyse syntaxique est de vérifier si l’écriture du programme source conforme
avec la syntaxe du langage à compilé. Cette dernière est spécifiée à l’aide d’une grammaire hors
contexte.
Il existe plusieurs méthodes d’analyse appartenant à l’une des deux catégories qui sont l’analyse
descendante etl’analyse ascendante.
Dans l’analyse descendante nous essayons de dériver à partir de l’axiome de la grammaire le
programme source.
D’une façon opposée, l’analyse ascendante établit des réductions sur les chaines à analyser pour
aboutir à l’axiome de la grammaire

1- Grammaires et Arbres de dérivation
On a déjà vu les langages réguliers, qui s’expriment à l aide d’expressions régulières,Mais la plupart
du temps, les langages ne sont pas réguliers et ne peuvent pas s’exprimer sous forme d’ une ER.
Par exemple, le langage des systèmes de parenthèses bien formés ne peut pas s’ exprimer par une ER.
On a donc besoin d’un outil plus puissant : les grammaires.
1.1 Grammaires
Exemples : une expression conditionnelle en PASCAL est : if ( expression) then instruction ;
Par exemple :if (x 0.
Sur la grammaire de l’exemple :
PHRASE SUJET VERBE COMPLEMENT *elle VERBETAT sympa
PHRASE * il parle vite
PHRASE *elle court sympa
Remarque : il est possible de générer des phrases syntaxiquement correctes mais qui n’ont pas de sens.
C’est l’analyse sémantique qui permettra d’éliminer ce problème.
Définition :Un arbre de dérivation syntaxique pour la grammaire G de racine Sϵ NTet de feuilles
wϵT* est un arbre ordonné dont la racine est S, les feuilles sont étiquetées par des terminaux formant
le mot w et les nœuds internes par des non terminaux tels que Y est un nœud interne dont les p fils
sont étiquetés par les symboles a1….ap est une production de P
Dérivations gauches et droites :

 Dérivation gauche consiste à réécrire le symbole non-terminal le plus àgauche à chaque étape.
 Dérivation droite consiste à réécrire le symbole non-terminal le plus à
droite à chaque étape.
Exemple :
Soit la grammaire ayant S pour axiome et pour règles de production
P ={ S aT b /c
T cSS /S}
Un arbre de dérivation pour le mot accacbb est :
SaTbacSSbaccSbaccaTbbaccaSbbaccacbb ( dérivation gauche)
Ou S aTb  acSSb acSaTbbacSaSbb acSacbb accacbb(dérivation droite)
Ces deux suites différentes de dérivations donnent le même arbre de dérivation.
1.3 Ambiguïté

Si une phrase d’un langage L(G) possède deux arbres de dérivations distincts,
alors cette phrase est ambiguë et la grammaire associée est elle-aussi ambiguë.
Exemple d’une grammaire ambiguë
La grammaire de l’expression suivantes est ambiguë ; il ya deux arbres syntaxiques
possiblespour x+x*x
E  E+E / E*E /x
2. ANALYSE DESCENDANTE :
L’analyse descendante, dans laquelle on construit l’arbre en descendant de la racine vers
les feuilles. Cette analyse correspond à un parcours descendant gauche (parce qu’on lit de
gauche à droite). Il s’agit de deviner à chaque étape quelle est la règle qui sert à engendrer le
mot que l’on lit.
Les méthodes déterministes les plusefficaces connues à l’heure actuelle sont : l’analyse
prédictive et la descente récursive ; lorsque le langage d’implémentation dispose de la

Page
18

SAOUDI Lalia

Analyse Syntaxique 2007/2008

récursivité, il est souhaitable d’utiliser la descente récursive dans le cas contraire, l’analyse
prédictive affirmera son existence.

2.1-Analyse prédictive :
Cette analyse utilise une tableappelée table prédictive, les lignes de cette table sont
indicées par les symboles non terminaux du langage, par contre les colonnes sont indicées par
les symboles terminaux et le symbole #.
Les cases de la table contiennent éventuellement des règles de la grammaire, pour la
construction de cette table deux notions qui sont suivant et début sont nécessaires.
Intuitivement le DEBUT d’une chaine...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Compilation
  • Compilation
  • Compilation
  • La compilation justinienne
  • Cours de compilation
  • La compilation justinienne
  • Cour compilation
  • Cours compilation

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !