0% ont trouvé ce document utile (0 vote)
149 vues2 pages

TP2 Analyse Syntaxique

Ce document décrit l'outil Bison pour créer des analyseurs syntaxiques à partir de grammaires non contextuelles. Il présente la structure d'un fichier source Bison et son fonctionnement. Trois exercices proposent de développer des analyseurs syntaxiques pour des grammaires d'expressions et d'instructions.

Transféré par

info plus
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
149 vues2 pages

TP2 Analyse Syntaxique

Ce document décrit l'outil Bison pour créer des analyseurs syntaxiques à partir de grammaires non contextuelles. Il présente la structure d'un fichier source Bison et son fonctionnement. Trois exercices proposent de développer des analyseurs syntaxiques pour des grammaires d'expressions et d'instructions.

Transféré par

info plus
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 2

A

Enseignantes :
ECOLE
Compilation Fatma SBIAA
PLURIDISCIPLINAIRE 3éme Informatique Nourchène OUERHANI
INTERNATIONALE AU : 2020/2021 Nour El Houda GAALOUL

TP 2 : Analyse Syntaxique
Les grammaires non contextuelles avec Bison
Objectifs :
Apprendre à coder sous Bison & Créer un analyseur syntaxique avec cet outil.

I. Description de l’outil Bison :


Le programme Bison est un tel générateur d’analyseurs syntaxiques. Il prend en entrée
un fichier source constitué essentiellement des productions d’une grammaire non
contextuelle G et sort à titre de résultat un programme C qui, une fois compilé, est un
analyseur syntaxique pour le langage L(G).

1. Structure d’un fichier source pour Bison


Un fichier source pour Bison doit avoir un nom terminé par « .y ». Il est fait de trois
sections, délimitées par deux lignes réduites aux symboles %%.

%{
Déclaration de variables et inclusion de bibliothèques en C
%}
Définitions
%%
Règles de réduction de la grammaire :
symbole non terminal : liste de symboles {action 1 en C}
| liste de symboles {action 2 en C}
| ……..
;
%%
<programme principal et fonctions en C>
Fonction main ()
yyparse() ;

2. Fonctionnement de Bison :
Un analyseur syntaxique requiert pour travailler un analyseur lexical qui lui délivre le
flot d’entrée sous forme d’unités lexicales. Par défaut, Bison suppose que l’analyseur
lexical disponible a été fabriqué par Flex. Autrement dit, sans qu’il faille de déclaration

-1-
A
Enseignantes :
ECOLE
Compilation Fatma SBIAA
PLURIDISCIPLINAIRE 3éme Informatique Nourchène OUERHANI
INTERNATIONALE AU : 2020/2021 Nour El Houda GAALOUL

spéciale pour cela, le programme produit par Bison comporte des appels de la fonction
yylex aux endroits où l’acquisition d’une unité lexicale est nécessaire.

Exercice1 :
1) Développer un analyseur syntaxique pour la grammaire suivante :
EXP  Var=ENTIER+ENTIER;

EXP  Var=ENTIER*ENTIER;

EXP  Var=ENTIER-ENTIER;

EXP  Var=ENTIER /ENTIERNN;

2) Cet analyseur se contentera d’afficher le message "Expression acceptée !" lorsque le


mot en entrée est analysé avec succès.

Exercice 2 :
1) Développer un analyseur syntaxique pour la grammaire de l’instruction if :
if (condition) then
2) L’analyseur affichera un message "Compilation terminée avec succès !" si l’instruction
saisie en entrée est valide.

Exercice 3 :
1) Développer un analyseur syntaxique pour la grammaire de l’instruction for suivante:
for (Var=Entier ; Var<Entier ; Var++)
2) L’analyseur affichera un message "Compilation terminée avec succès !" si l’instruction
saisie en entrée est valide.

-2-

Vous aimerez peut-être aussi