Français | English

Le code source

Lorsque vous écrivez un programme dans un langage de haut niveau, comme Pascal, C/C++ ou Java, il s'agit d'un fichier texte qui sera interprété par le compilateur pour produire une suite binaire qui sera éventuellement exécutée par la machine. Cependant, la compilation ne donne pas directement un programme qui fonctionne, mais un fichier binaire qui pourra être copié en mémoire de l'ordinateur pour être exécuté par le microprocesseur. Cela donnera donc un fichier exécutable.

Nous devons donc écrire le code source selon les règles du langage de programmation utilisé afin que le compilateur l'interprète correctement. En contrepartie, ce dernier fait beaucoup de travail à notre place.

Par exemple, lorsque nous déclarons une variable, le compilateur prévoit un espace de mémoire de grandeur appropriée, puis associe le nom de la variable à l'adresse mémoire de cet espace. Et lorsque nous assignons une valeur à cette variable, le compilateur convertit cette valeur écrite en texte dans son équivalent binaire selon le type de variable déclarée, puis il ajoute les instructions appropriées du microprocesseur pour qu'il prenne cette valeur binaire et la positionne à la bonne adresse lors de l'exécution du programme. Selon le type de variable, ceci peut nécessiter plusieurs instructions binaires. En effet, comme nous l'avons vu au chapitre du microprocesseur, celui-ci ne réalise que de petites opérations à la fois. Mais il le fait vite et bien.

Lors d'un appel à une procédure, le compilateur ajoute les instructions pour placer les paramètres et l'adresse de retour sur la pile, et une instruction de saut à l'adresse de la procédure. Lorsque nous avons écrit la procédure, il a mis les instructions au début de cette procédure pour récupérer les paramètres à partir de la pile, puis a éventuellement déplacé le pointeur de pile pour réserver de l'espace pour les variables locales à la procédure. Finalement, il a ajouté les instructions nécessaires à la fin de la procédure pour replacer le pointeur de pile et retourner à l'adresse d'où provient l'appel.

Sans l'aide du compilateur, nous devrions réaliser nous-mêmes toutes ces actions et bien d'autres encore.

Ce que nous écrivons dans le fichier source ne se retrouve donc pas en mémoire de l'ordinateur, mais il s'agit d'indications qui répondent à la sémantique du langage de programmation utilisé et qui servent au compilateur pour composer un programme que le microprocesseur peut comprendre et exécuter.