Td6 analyse lexicale Théorie des langages-télécharger p...

Théorie des langages : Td6 analyse lexicale

Télécharger PDF

NF11 – TD6 : Analyse Lexicale

Exercice 1

Les entités lexicales d’un mini-langage de programmation sont définies comme suit :

Mots-clés

Les mots-clés sont : begin, end, if, then, else.

Identificateurs

Chaînes composées d’une lettre suivie de zéro ou plusieurs lettres ou chiffres. Exemple : a, abc, a1b2.

Constantes entières

Chaînes composées d’un chiffre suivi de zéro ou plusieurs chiffres. Exemple : 5, 123, 0.

Constantes réelles signées

Exemples : 62.85, -0.45, +123.56E-25 (à détailler dans l’exercice 2).

Opérateurs

Les opérateurs sont : <, >, =, <>, <=, >=, +, -.

Exercice 2 : Constantes Réelles Signées

Les constantes réelles signées respectent les règles suivantes :

  • Elles peuvent commencer par un + ou un - (optionnel).
  • Elles contiennent une partie entière (un ou plusieurs chiffres), suivie d’un point, puis d’une partie décimale (un ou plusieurs chiffres).
  • La partie entière ou décimale peut être absente (ex. .5 ou 3.).
  • Elles peuvent inclure une notation scientifique : E ou e suivi d’un signe optionnel (+ ou -) et de chiffres.

Exercice 3 : Langage L sur {A, B, C, ..., Z}

Les mots du langage L doivent respecter les règles suivantes :

  • Les consonnes sont séparées par des voyelles (pas de consonnes consécutives).
  • Plusieurs voyelles (au maximum 3) peuvent se suivre.
  • Un mot ne peut pas commencer et se terminer par la même consonne.
  • La longueur d’un mot est comprise entre 2 et 8 caractères inclus.

FAQ

1. Qu’est-ce qu’un automate fini déterministe (AFD) ?

Un AFD est un modèle mathématique utilisé pour reconnaître des chaînes de caractères selon des règles précises. Il se compose d’états, de transitions et d’un état final.

2. Comment écrire une expression régulière pour un langage ?

Une expression régulière combine des caractères littéraux, des quantificateurs (comme *, +, ?), des groupes (( )) et des alternances (|) pour décrire les motifs valides d’un langage.

3. Pourquoi les mots-clés doivent-ils être distincts des identificateurs ?

Pour éviter les conflits sémantiques et permettre au compilateur/interpréteur de distinguer les instructions du langage (mots-clés) des variables ou fonctions définies par l’utilisateur (identificateurs).



Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne

Publicité 1

Publicité 2