Qu'est-ce que Analyse syntaxique ?

Étape du compilateur qui vérifie qu'une suite de jetons respecte la grammaire du langage et construit la structure du programme sous forme d'arbre. C'est là que sont détectées les erreurs de syntaxe.

Nom japonais: 構文解析

« Analyse syntaxique » apparaît dans 6 questions d'entraînement réparties sur 1 thèmes, dont Compilateurs.

Domaine: Compilateurs

S'entraîner : questions sur Analyse syntaxique

Que fait l'analyse syntaxique d'un compilateur ?

  1. AElle élimine les espaces et commentaires de la suite de caractères et la découpe en mots
  2. BElle repère les parties souvent exécutées et les convertit en code machine pendant l'exécution
  3. CElle confronte la suite de lexèmes à la grammaire et construit la structure du programme sous forme d'arbre
Afficher la réponse et l'explication

Réponse : C. Elle confronte la suite de lexèmes à la grammaire et construit la structure du programme sous forme d'arbre

L'analyse syntaxique vérifie que la suite de lexèmes issue de l'analyse lexicale respecte la grammaire du langage et construit sous forme d'arbre (arbre syntaxique) des structures comme la condition et le corps d'une instruction if ou l'agencement des opérations d'une expression. Les erreurs de grammaire, comme un point-virgule oublié ou des parenthèses mal appariées, sont détectées à ce stade. L'élimination des espaces et le découpage en mots relèvent de l'analyse lexicale, la conversion en code machine pendant l'exécution de la compilation JIT.

Quel type de grammaire, utilisé pour décrire la grammaire de nombreux langages de programmation, sert de base à l'analyse syntaxique ?

  1. AUniquement les grammaires régulières
  2. BLa grammaire des langues naturelles
  3. CLes grammaires hors contexte
Afficher la réponse et l'explication

Réponse : C. Les grammaires hors contexte

Les parenthèses imbriquées ou une instruction if contenant une autre instruction if ne peuvent pas s'exprimer par des expressions régulières. La grammaire de la plupart des langages de programmation s'exprime par une grammaire hors contexte, ensemble de règles de réécriture comme « expr → expr + terme », sur laquelle repose l'analyse syntaxique. Il existe des méthodes d'analyse comme l'analyse LL, qui applique les règles de haut en bas, et l'analyse LR, qui construit de bas en haut, ainsi que des outils générant automatiquement l'analyseur à partir de la grammaire. Les grammaires régulières conviennent à l'analyse lexicale et ne traitent pas l'imbrication.

« Analyse syntaxique » dans les explications

Questions mentionnant « Analyse syntaxique » (6)

  1. Que fait l'analyse syntaxique d'un compilateur ?
  2. Quel type de grammaire, utilisé pour décrire la grammaire de nombreux langages de programmation, sert de base à l'analyse syntaxique ?
  3. Quel est le rôle de l'analyse lexicale d'un compilateur ?
  4. Quel exemple d'erreur détectée par l'analyse sémantique d'un compilateur est le plus approprié ?
  5. Quelle caractéristique de l'arbre syntaxique abstrait (AST) est correcte ?
  6. Parmi les erreurs de programme, laquelle peut être détectée dès la compilation ?

Termes associés

Analyse lexicale Compilation JIT Découpe (dicing) Arbre syntaxique abstrait (AST) Allocation de registres Bloc de base Débordement (spill) Déroulage de boucle (loop unrolling) Élimination des sous-expressions communes Forme SSA

Retour au glossaire