Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TD 1 : Analyse lexicale
EXERCICE 1 :
Lister les lexèmes et les unités lexicales correspondantes dans le programme suivant :
begin
else max : = j
end;
EXERCICE 2:
EXERCICE 3 :
1
EXERCICE 4 :
Supposant que le compilateur d’un langage de programmation assigne l’unité lexicale suivante
OPREL pour les opérateurs relationnels : <, >, <=, >=,= et < >.
Proposer un diagramme de transition qui reconnait ce type d’unité lexicale et qui est, une fois arrivé à
des états finaux de l’automate, émet comme message : retourne (< OPREL, le lexème de l’opérateur
en question >).
EXERCICE 5 :
Supposant que dans un langage de programmation X, les noms de variables doivent être écrits en
commençant par V suivi (non obligatoirement) d’une suite quelconque de lettres écrites en majuscule
et / ou de chiffres de 1 à 5.
EXERCICE 6 :
Donner une définition régulière des identificateurs formés d’une suit de lettres et/ou chiffres,
commençant par une lettre et comportant exactement deux fois le symbole _
EXERCICE 7 :
Une commande est composée de 4 parties dont seul le premier est obligatoire.
EXERCICE 8 :
2
• Une expression vectorielle (v) est :
1. Soit une suite de nombres encadrés par des crochets. (Ex : [4, 2, 9] ).
2. Ou bien la somme de deux expressions vectorielles de même taille.
(Ex : [3, 5, 7] + [1,4,9])
3. Ou bien le produit d’une expression vectorielle par un nombre.
(Ex : 3*[3, 5, 7] ou [1, 4, 9]*2)
EXERCICE 9 :
1. Donner un automate fini déterministe qui reconnait dans une chaine de caractères les unités
lexicales suivantes :
• Les opérateurs + et - ;
• Les identificateurs en pascal composés uniquement de chiffres et de caractères ;
• Les entiers non signés ;
• Un sous ensemble des réels comportant syntaxiquement une suite de chiffres suivis de la
lettre e suivis d’une suite de chiffres éventuellement signés (exemple : 24e-3, 4e56)
2. Donner pour chaque unité lexicale une description régulière qui la définit.
3. Comment l’analyseur lexical décompose-t-il les chaines suivantes :
• +- ;
• Aa+9 ;
• Ae9+9 ;
• 13e12 ;
• 6 b+a ;
EXERCICE 10 :
1. Une commande est composée d’un nom de la commande, suivi d’une liste optionnelle
d’arguments, suivie d’une liste facultative d’options.
2. Une liste d’arguments est une suite d’arguments.
3. Une liste d’options est une suite non vide d’options encadrée par crochets. A l’intérieur de la
quelle les options sont s éparées par « , ».
4. Une option est un caractère précédé par un tiret.
5. Un argument est un identificateur, de même le nom de la commande.
Q1- Quelles sont les unités lexicales nécessaires à la description d’une commande ?