Compilateur

Ajouter à la bibliothèque

H3168 V2 Article de référence

Compilateur

Auteur(s) : Henri-Pierre Charles, Christian Fabre

Date de publication : 10 août 2017 | Read in english

Ajouter à la bibliothèque Ajouter à la bibliothèque

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Cet article est offert jusqu'au 31/08/2026 Consulter en libre accès

Déjà abonné ?

Présentation

RÉSUMÉ

Un compilateur est un logiciel permettant de transformer un programme source (écrit dans un langage de programmation) dans un autre langage de programmation cible, le plus souvent dans le langage d’un processeur permettant d’exécuter le dit programme. Nous verrons dans cet article les grands principes d’un compilateur, les technologies utilisées ainsi que d’autres usages de la compilation.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l'article

AUTEUR(S)

 INTRODUCTION

Histoire de la compilation

L’architecture des ordinateurs et les applications informatiques ont toujours été en grande évolution. La compilation étant à la frontière de ces deux mondes en pleine évolution, il est naturel qu’elle ait évolué de concert.

Schématiquement on pourrait découper l’histoire de la compilation en quatre grandes périodes :

1950-1970  : Durant cette période, les principales notions d’architecture matérielle étaient en place, mais il était difficile de programmer les ordinateurs qui étaient de volumineuses machines.

Les expressions rationnelles (1956) qui utilisent la théorie des automates finis et les analyseurs syntaxiques (1965) ont permis la création d’outils pour créer des langages de programmation et leur compilation. COBOL et FORTRAN (1957) ont été les premiers langages informatiques compilés.

On peut dire que cette période correspond à la création des fondements théoriques et pratique de la compilation

1970-1990  : C’est durant cette période que l’électronique grand public a été popularisée. Le processeur Intel 4004 (1971) est le premier processeur grand public, le processeur Intel 386 a été la base de la popularité des PC ( Personnal Computer ). Le processeur MIPS a été créé (1984), il a introduit la notion d’architecture RISC. C’est également durant cette période que Gordon Moore a réévalué sa célèbre loi indiquant «  que le nombre de transistors des microprocesseurs sur une puce de silicium double tous les deux ans  »

C’est pendant cette période qu’ont été créés les langages C (1972) et C++ (1983) et le premier compilateur open source GCC 1.0. Ce compilateur a eu un succès énorme et a reçu l’adhésion de beaucoup de constructeurs informatiques.

Les objectifs de la compilation d’un programme étaient alors : «  de fournir un programme binaire sémantiquement équivalent au programme source  ». Les optimisations étaient encore peu développées.

1990-2000  : Cette période fut très riche par la création de nouveaux concepts architecturaux : pipelines , processeurs superscalaires, mémoire caches, machine parallèles.

C’est durant cette période qu’a été créé le langage Java (1995) et qui a largement diffusé la compilation au vol (1999).

Les objectifs de la compilation d’un programme sont devenus : «  de...

Cet article est réservé aux abonnés
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés. Il vous reste 92 % à découvrir.

Déjà abonné ?


MOTS-CLÉS

parallélisme d'instructions   |   processeur   |   langage de programmation   |   compilateur   |   architecture des ordinateurs   |   allocation de ressources   |   analyse lexicale   |   analyse syntaxique   |   optimisation de programme

VERSIONS

Il existe d'autres versions de cet article :

DOI (DIGITAL OBJECT IDENTIFIER)

https://doi.org/10.51257/a-v2-h3168

Lecture en cours
Compilateur

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

( 408 articles )

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Services

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir le détail de l'offre

Dans les ressources documentaires

Linux embarqué

Linux est un système d'exploitation multitâche de la famille UNIX. Développé initialement sur processeur ...

Rust (langage de programmation)

Le langage de programmation Rust permet l’écriture de logiciels de haute performance, par une conception ...

Programmation par aspects

La programmation par aspects (en anglais « aspect-oriented programming ») est un style de dével...

Langage UML : développement de logiciel et modélisation visuelle

Le langage UML (pour Unified Modeling Language) est un langage graphique de modélisation des systèmes log...

Tous les livres blancs
Article Vers un nouveau record des cyberattaques ?
25 septembre 2019
Vers un nouveau record des cyberattaques ?

Année après année, c’est toujours le même constat : peu ou mal protégées, les entreprises et les administrations sont de plus en plus nombreuses à être victimes...

Toutes les actualités

Inscrivez-vous aux newsletters !

Contactez-nous