Langage de plus haut niveau et compilation

L’informatique et ses fondements

Publié le 20/06/19Modifié le 06/11/19

Sur le même sujet

La compilation, qu'est-ce que c'est ?

Pour écrire un programme, il faut procéder dans cet ordre :

  • avoir une idée (qu'est-ce qu'on veut calculer, qu'est-ce qu'on veut faire ?), 
  • créer un séquençage (les grandes lignes),
  • trouver un algorithme et décider des structures de données,
  • écrire le programme dans le langage de son choix,
  • faire appel aulangage machine.

La compilation désigne le passage entre les deux dernières étapes : la partie qui langage de programmation, qui est compréhensible par un humain, vers le langage machine, qui est compréhensible par la machine et pas forcément par l'humain.

Qu'est-ce qu'un compilateur ?

Le compilateur est un programme comme les autres. Qu'est-ce qu'il fait ? En première approximation, il prend un texte dans un langage précis, par exemple C ou OCaml. Ce texte doit correspondre exactement à ce qu'on attend d'un programme, un certain nombre de règles d'écriture de programme. Il va ensuite transformer ce texte en un autre texte, en assembleur ou en exécutable, qui, lui, est compréhensible par le processeur. On parle de « langages compilés ». On a aussi des langages interprétés où c'est l'interpréteur qui parle directement à la machine et qui est capable de considérer un texte et de le faire exécuter par la machine.

Pour s'assurer que le programme peut être transformé en un exécutable ou assembleur, le compilateur vérifie en plus un certain nombre de choses :

  • qu'il n'y a pas d'erreurs de syntaxe, que les points-virgules sont au bon endroit, que les parenthèses sont fermées, etc.
  • en fonction du langage, qu'il n'y a pas d'erreur de type (qu'il s'agit bien d'une liste, d'un entier, etc.)
  • qu'une variable est déclarée mais pas utilisée...

Un certain nombre d'avertissements peut être émis. Il est possible qu'on ne soit pas sûr que le programme fasse exactement ce qu'on en attendait, il s'agit là de bugs.

Nom de l'auteur : Liliane Kahmsay / Florent Masseglia

Producteur : Inria

Voir plus