Compilateurs

Qu'utilise-t-on souvent pour exprimer les règles de reconnaissance des lexèmes dans l'analyse lexicale ?

  1. ALes règles d'arrondi en virgule flottante
  2. BLes expressions régulières et les automates finis qui les traitent
  3. CLes règles de remplacement du cache
Afficher la réponse et l'explication

Réponse : B. Les expressions régulières et les automates finis qui les traitent

Les types de lexèmes s'écrivent de façon concise par des expressions régulières, par exemple « commence par une lettre suivie de lettres ou chiffres » pour un identificateur ou « un ou plusieurs chiffres » pour un nombre. Une expression régulière se convertit en automate fini (machine à nombre fini d'états), qui découpe les lexèmes en un temps proportionnel à la longueur de l'entrée, en changeant simplement d'état à chaque caractère lu. Les analyseurs lexicaux sont donc souvent produits par des outils qui les génèrent automatiquement à partir d'expressions régulières. Les règles d'arrondi ou de cache n'ont rien à voir.

S'entraîner sur ce thème Retour au thème

Autres questions sur Compilateurs

  1. Quel type de grammaire, utilisé pour décrire la grammaire de nombreux langages de programmation, sert de base à l'analyse syntaxique ?
  2. Quelle est la forme correcte de l'arbre syntaxique abstrait de l'expression 2 + 3 * 4 ?
  3. Quelle caractéristique du code à trois adresses, l'une des représentations intermédiaires, est correcte ?
  4. Que détermine l'analyse de vivacité (liveness), effectuée en préparation de l'allocation de registres ?
  5. Dans une fonction, le nombre maximal de valeurs vivantes simultanément est de 5. Dans le cas simple où le graphe d'interférence ne crée pas d'autre contrainte que ces 5 valeurs, combien de registres faut-il au minimum pour placer toutes les valeurs en registre sans déversement ?

Comparatifs sur ce thème