Académique Documents
Professionnel Documents
Culture Documents
Les terminaux
Les séparateurs
Le résultat de cette analyse est un flot de terminaux (une suite d’unités lexicales)
qui sera ensuite transmis à l’analyseur syntaxique.
Chaînes de caractères : sont représentées sous un contexte particulier entre les "".
Identificateurs (IDF): sont dans les langages des noms réservés ne pouvant pas
être réutilisés en variables (sauf dans certain langage exemple de Fortran). Tous les
IDF sont des noms, mais tous les noms ne sont pas des IDF.
9 I. Introduction
Les terminaux : Exemple
Exemple de terminaux contenus dans l’instruction (en Langage C)
suivante :
Des espaces
Analyseur lexical
table des symboles
Analyseur syntaxique
La plupart du temps, c’est l’analyseur syntaxique (présenté dans le Module 3) qui sollicite
les terminaux produits par l’analyseur lexical par un simple appel .
C’est en réponse à cet appel que l’analyseur lexical lit les caractères en entrée (programme
source) pour reconnaître un terminal qu’il retourne à l’analyseur syntaxique.
Définition
Exemples
Exercices
16 II. Expressions régulières
Définition
Supposons que nous voulons construire tous les IDF valides d’un
langage à partir d’un alphabet donné ?
Une ER : décrit tous les langages qui peuvent être construits par
l’application des opérations sur les symboles du vocabulaire donné.
17 II. Expressions régulières
Définition
L’utilisation des ER peut comprendre
Exercices :
Sur l’alphabet constitué des lettres a et b, quels sont
les langages représentés par les ER suivantes :
1. (a+b)*
2. b*
3. a+(ab)*
21 Plan Du Cours
I. Introduction
Application au langage
Automates lexicaux
Les automates à états finis sont des reconnaisseurs qui disent « oui »
ou « non » à propos de chaque chaîne d’entrée possible.
Passant
26 III. Les automates
Application au langage
Les langages engendrés par les expressions régulières et les
grammaires peuvent être analysés par un automate à états
finis.
Un tel automate peut se trouver dans différents états en
nombre fini.
Il change d’état selon les caractères qu’il trouve lors de la lecture
du code source à analyser.
Le changement d’état d’un automate s’appelle une transition.
b a b a
Exercice :
Donnez l’automate permettant d’engendrer cette grammaire.
III. Les automates
Les automates lexicaux
chat
miaule
Le
chien
aboie
chats miaulent
Les
aboient
chiens
III. Les automates
Les automates lexicaux
1. Cet automate ne permet pas les phrases «agrammaticales »
suivantes :
le chien aboient
chien chat miaulent
(etc.)
Exercice :
Donnez l’automate permettant d’engendrer cette grammaire.
III. Les automates
Les automates lexicaux
chat
loup
le
est
chien
méchant
qui
mange très
35 III. Les automates
Les automates lexicaux
III. Les automates
Exercices
Reprendre les exercices des expressions:
Sur l’alphabet constitué des lettres a et b, quels
sont les langages représentés par les ER suivantes :
1. (a+b)*
2. b*
3. a+(ab)*