icu.next-video

Contenu proposé par

France Télévisions

Regarde cette vidéo et gagne facilement jusqu'à 15 Lumniz en te connectant !

Il n’y a pas de Lumniz à gagner car tu as déjà consommé cet élément. Ne t'inquiète pas, il y a plein d'autres contenus intéressants à explorer et toujours plus de Lumniz à gagner.

->   En savoir plus
SNT02:32Publié le 20/06/2019

Langage de plus haut niveau et compilation

L’informatique et ses fondements

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.

Auteur : Liliane Kahmsay / Florent Masseglia

Producteur : Inria

Publié le 20/06/19

Modifié le 20/10/22