Programmation - A. Cohen
Cours

Traducteur : Compilateur / Interpréteur

Traduction d'un programme

L'utilisation d'un langage de haut niveau nécessite de traduire les programmes écrits dans ce langage dans un langage machine.

Puisque le programme est combinaison d'instructions destinées à l'ordinateur, il faut que le programme parvienne à l'ordinateur sous une forme exploitable par ce dernier.

Il existe deux approches :

  1. lancer un programme de traduction simultanée, appelé interprète, qui traduit et exécute au fur et à mesure les instructions du programme à exécuter.

    Exemple : Basic, Matlab, Perl

  2. analyser l'ensemble du programme et le traduire d'avance en un programme en langage machine, qui est ensuite directement exécutable. C'est la compilation.

    Exemple : C, C++, Cobol, Fortran, Pascal

Remarque : Cas du langage Java

Java fait partie des langages à approche hybride :

un programme en Java est analysé et compilé, mais pas dans le langage de la machine physique.

Pour des raisons de portabilité, le compilateur Java traduit le programme dans un langage intermédiaire,appelé le byte-code.

Le byte-code est un pseudo-assembleur qui s'adresse à un processeur virtuel appelé machine virtuelle Java : JVM (Java Virtual Machine). Ce concept sera expliqué plus loin.

Fondamental :

Pour traduire un langage, il faut tenir compte des trois niveaux :

  • Niveau lexical : concerne le vocabulaire du langage, les règles d'écriture des mots du langage (identificateurs de variables ou fonctions), les mots clés et les caractères spéciaux.

  • Niveau syntaxique : spécifie la manière de construire des programmes dans ce langage, autrement dit les règles grammaticales propres au langage ;

  • Niveau sémantique : spécifie la signification de la notation.

A chaque langage de programmation correspond donc un interprète et/ou un compilateur

D'une manière générale, un programme est :

  • = fichier texte (écrit à l'aide d'un éditeur de texte)

  • = fichier source (contient les lignes du programme en langage de haut niveau, appelé code source)

Compilateur

Le compilateur transforme le code source en code objet (fichier objet).

Il crée ensuite un fichier exécutable qui sera chargé en mémoire ou stocké sur un disque dur.

Le nouveau fichier exécutable sera autonome.

Le compilateur doit correspondre au langage que vous avez choisi d'utiliser. Il existe un compilateur par langage de programmation et par plate-forme.

Remarque : Avantages / Inconvénients
  • Avantage : on peut diffuser uniquement le fichier exécutable

  • Inconvénient à chaque modification du code source, il faut recompiler le programme, en plus il faut un exécutable par type de plate-forme

Classifications des langages de programmation (page suivante)Notion de programme (page Précédente)
AccueilImprimerRéalisé avec SCENARI