1
Grammaires
(Chapitre 3)
Farouk JELIDI
2016-2017
Plan du cours
1. Introduction
2. Grammaires
3. Analyse Syntaxique
2
1. Introduction
Tout langage de programmation possède des règles qui indiquent la
structure syntaxique d’un programme bien formé.
La syntaxe d’un langage peut être décrite par une grammaire.
Cette grammaire décrit comment les unités lexicales doivent être
agencées..
1. Introduction
L’analyseur syntaxique reçoit une suite d’unités lexicales de la part de
l’analyseur lexical et doit vérifier que cette suite peut être engendrée par la
grammaire du langage.
Le principe est d’essayer de construire un arbre de dérivation.
Il existe deux méthodes pour cette construction :
méthode (analyse) descendante.
méthode (analyse) ascendante.
3
1. Introduction
Figure 1: Analyseur Syntaxique
2. Grammaires
Exemple 1 :
Une expression arithmétique peut être :
ola somme de deux expressions arithmétiques,
ola multiplication de deux expressions arithmétiques,
oune expression arithmétique entre parenthèses,
oun identificateur.
Ceci peut être décrit plus formellement par :
oEE + E | E * E | ( E ) | id
Avec cette description, nous pouvons générer une infinité d’expressions
arithmétiques :
o(id + id) * id
o(id + id) * id +id +id *id
o.
4
2. Grammaires
Exemple 2 :
Une phrase peut être :
oSujet suivi d’un verbe, suivi d’un complément,
oUn sujet peut être Ali ou Sami ou Mourad,
oUn verbe peut être aime ou déteste,
oUn complément est un sujet.
Ceci se décrit par :
ophrase sujet verbe complément
osujet Ali | Sami | Mourad
overbe aime | teste
ocomplément sujet
Avec cette grammaire nous pouvons nérer plusieurs phrases :
oSami aime Sami
oSami aime Ali
o.
2.1 Définition
Une grammaire ou une grammaire à structures de phrases est un
quadruplet (T,V,S,P) :
oTun ensemble fini non vide de symboles terminaux (alphabet terminal).
oVun ensemble fini non vide de symboles non terminaux (catégories
syntaxiques) tel que TV = ɸ
oSVest le symbole de départ, appelé axiome
oPest un ensemble de règles de production (ou de écriture) sous la forme
αβ
précisant que la séquence de symboles α(α( V T )+)peut être remplacée
par la séquence de symboles β(β( V T )*)
αest appelée partie gauche de la production, βest appelée partie droite de la
production
Le té droit peut être vide, on parle de règle-ԑ(B ԑ).
5
2.2 Convention
Les symboles non terminaux sont décrits par des lettres majuscules
Les symboles terminaux sont décrits par des lettres minuscules
Sest utilisé comme symbole de part, sauf indication contraire
Les séquences de symboles terminaux et non terminaux sont décrites par
les lettres grecques (α,β,)
2.2 Convention
Exemple 1 :
Soit G1 = (T,V,S,P)
oT = {a,b,c}
oV = {S,A,B,C}
oP = { S ASC
SB
BbB
Bԑ
Aa
Cc
}
1 / 24 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !