Qu'est-ce qu'un compilateur, ou comment faire comprendre à un ordinateur ce que vous attendez de lui ?

Table des matières:

Qu'est-ce qu'un compilateur, ou comment faire comprendre à un ordinateur ce que vous attendez de lui ?
Qu'est-ce qu'un compilateur, ou comment faire comprendre à un ordinateur ce que vous attendez de lui ?

Vidéo: Qu'est-ce qu'un compilateur, ou comment faire comprendre à un ordinateur ce que vous attendez de lui ?

Vidéo: Qu'est-ce qu'un compilateur, ou comment faire comprendre à un ordinateur ce que vous attendez de lui ?
Vidéo: [FR] Programmer en C : Les bases : Qu'est-ce que le C ? 2024, Novembre
Anonim

L'étape finale de la création d'un programme consiste à traduire un algorithme écrit dans l'un des langages de programmation (C/C++, Pascal, etc.) dans un langage machine de bas niveau. Cela est dû au fait que pour effectuer n'importe quelle tâche, les ordinateurs doivent recevoir des commandes dans un langage qu'ils comprennent, proche du binaire et fonctionnant avec des structures de données primitives (bit, octet ou mot). Le processus de traduction des déclarations spécifiques à un domaine de langages de haut niveau en code binaire est appelé traduction. Il existe deux méthodes de traduction: la compilation et l'interprétation.

le compilateur est
le compilateur est

Compilateur - qu'est-ce que c'est ?

L'analyse de nombreuses interprétations des termes "compilateur" et "compilation" nous permet de mettre en évidence la définition suivante. Un compilateur est un programme conçu pour traduire le texte d'un algorithme source d'un langage de haut niveau en un ensemble d'instructions équivalent dans un langage orienté machine. C'est ce qu'on appelle le code objet, pour l'assemblage ultérieur du code objet résultant dans un module de programme prêt à l'emploi.

Compilateur et interpréteur - similitudes et différences

Un interpréteur est un utilitaire quiainsi qu'un compilateur, conçu pour traduire le code source en code machine. Cependant, contrairement au compilateur, l'interpréteur s'exécute à chaque fois avec le programme et effectue la traduction ligne par ligne.

On peut dire que le compilateur et l'interpréteur sont des processeurs de langage qui permettent à l'ordinateur de reconnaître et d'exécuter les commandes données par le programmeur.

Classification du compilateur

le compilateur est un programme
le compilateur est un programme

Les compilateurs sont classés principalement selon les caractéristiques liées à leurs domaines d'application pratique.

Vectorizing compiler est un utilitaire qui traduit le code source en code objet et est adapté aux ordinateurs équipés de processeurs vectoriels.

Un compilateur flexible est programmé dans un langage de haut niveau de manière modulaire. Sa gestion s'effectue à l'aide de tableaux. Il est également possible de l'exécuter à l'aide du compilateur de compilateurs.

Le compilateur incrémentiel est un processeur de langage qui retraduit des fragments séparés de code source et des ajouts à celui-ci. Cependant, cela évite de recompiler toute l'application.

Un compilateur interprétatif (pas à pas) est un utilitaire qui effectue séquentiellement une compilation indépendante de chaque instruction ou commande d'un code source de haut niveau.

Un compilateur de compilateurs est un traducteur capable d'accepter une description formelle pour un langage de programmation et de générer indépendamment un compilateur pour n'importe quel langage.

compilateur et interpréteur
compilateur et interpréteur

Le compilateur de débogage vous permet de trouver et de corriger certains types d'erreurs de syntaxe commises lors de l'écriture du code source

Un compilateur résident occupe une place permanente dans la RAM et est donc réutilisable par un large éventail de tâches.

Le compilateur auto-compilé est écrit dans la même langue que la traduction.

Le compilateur universel est basé sur une description formelle des paramètres sémantiques et syntaxiques du langage d'entrée. Les principaux composants d'un tel utilitaire sont le noyau, les chargeurs syntaxiques et sémantiques.

Périphérique de compilation

Un compilateur et un éditeur de liens sont au cœur de tout compilateur. Souvent, lors de la compilation, un éditeur de liens externe est utilisé et le compilateur lui-même n'exécute que la fonction de traduction. Il arrive également que le compilateur soit implémenté comme une sorte de programme gestionnaire qui est associé au traducteur (ou aux traducteurs, si différents langages de programmation ont été utilisés lors de l'écriture du code source) et à l'éditeur de liens et démarre leur exécution si nécessaire.

Langages de programmation et méthodes de traduction

compilateur de langage
compilateur de langage

Malgré le fait qu'un programme écrit dans n'importe quel langage de programmation peut être à la fois compilé et interprété, de nombreux langages de haut niveau ont une prédisposition à l'une ou l'autre méthode de traduction. Ainsi, le langage C a été conçu à l'origine pour la compilation et Java - pour l'interprétation du programme écrit. Sont en cours d'élaborationLes compilateurs C sont assez faciles, grâce à son niveau relativement bas et à un petit nombre d'éléments structurels.

Avantages et inconvénients des compilateurs et des interpréteurs. Candidatures

Notez que les applications compilées sont plus rapides que les applications interprétées, mais en même temps, le code machine obtenu à la suite de la compilation dépend de la plate-forme matérielle. Ainsi, un programme écrit et compilé pour Windows ne fonctionnera pas, par exemple, sous Linux. Ainsi, dans le cas des applications Internet, lorsqu'il est impossible de dire à l'avance dans quel environnement elles vont fonctionner, elles utilisent l'interprétation ou le bytecode (dans ce cas, le programme source est converti en une forme intermédiaire exécutable sur différents matériels plates-formes).

Conseillé: