Description de la grammaire du langage source
Litt´
eraire
Un programme est une suite de d´
efinitions de fonction
Une d´
efinition de fonction est compos´
ee
du nom de la fonction suivie de ses arguments
suivie de la declaration de ses variables internes
suivie d’un bloc d’instructions
Une instruction est . . .
Formelle
programme →listeDecFonc ’.’
listeDecFonc →decFonc listeDecFonc
listeDecFonc →
decFonc →ID FCT listeParam listeDecVar ’ ;’ instrBloc
...
Grammaires formelles
Les contraintes syntaxiques sont repr´
esent´
ees sous la forme de
r`
egles de r´
e´
ecriture.
La r`
egle A→BC nous dit que le symbole A peut se r´
e´
ecrire
comme la suite des deux symboles Bet C.
L’ensemble des r`
egles de r´
e´
ecriture constitue la grammaire du
langage.
La grammaire d’un langage Lpermet de g´
en´
erer tous les
programmes corrects ´
ecrits en Let seulement ceux-ci
Notations et Terminologie
Dans la r`
egle A→α
Aest appel´
epartie gauche de la r`
egle.
αest appel´
epartie droite de la r`
egle.
Lorsque plusieurs r`
egles partagent la mˆ
eme partie gauche :
A→α1,A→α2, . . . , A→αn
On les note :
A→α1|α2|. . . |αn
Grammaire partielle des expressions arithm´
etiques
EXPRESSION →EXPRESSION OP2 EXPRESSION
OP2 →+|-|*|/
EXPRESSION →NOMBRE
EXPRESSION →( EXPRESSION )
NOMBRE →CHIFFRE |CHIFFRE NOMBRE
CHIFFRE →0|1|2|3|4|5|6|7|8|9
Les symboles EXPRESSION, OP2, NOMBRE, CHIFFRE sont
appel´
es symboles non terminaux de la grammaire
Les symboles +, -, *, /, (, ), 0, 1 , ..., 9 sont appel´
es symboles
terminaux de la grammaire