Compilateurs

Quel est le rôle de l'analyse lexicale d'un compilateur ?

  1. AVérifier, sous forme d'arbre, que les instructions du programme respectent la grammaire du langage
  2. BDécouper la suite de caractères du code source en lexèmes (tokens) comme les identificateurs et les opérateurs
  3. CVérifier la cohérence des types des variables et l'absence de noms non définis
Afficher la réponse et l'explication

Réponse : B. Découper la suite de caractères du code source en lexèmes (tokens) comme les identificateurs et les opérateurs

L'analyse lexicale est la première phase du compilateur ; elle découpe par exemple « count = count + 1; » en lexèmes : identificateur count, symbole =, identificateur count, symbole +, nombre 1, symbole ;. Les espaces et les commentaires sont aussi éliminés à ce stade. Les règles des lexèmes s'exprimant par des expressions régulières, elles se traitent rapidement par automate fini. Vérifier sous forme d'arbre la conformité à la grammaire relève de l'analyse syntaxique suivante, et l'examen des types et des noms de l'analyse sémantique.

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

Autres questions sur Compilateurs

  1. Que fait l'analyse syntaxique d'un compilateur ?
  2. Quel exemple d'erreur détectée par l'analyse sémantique d'un compilateur est le plus approprié ?
  3. Quelle caractéristique de l'arbre syntaxique abstrait (AST) est correcte ?
  4. Quel est le principal avantage d'utiliser, à l'intérieur d'un compilateur, une représentation intermédiaire (IR) indépendante du langage source comme du CPU ?
  5. Quelle définition du bloc de base est correcte ?

Comparatifs sur ce thème