Maison  >  Article  >  Qu'appelle-t-on traduire un programme source écrit dans un langage de programmation de haut niveau en un programme cible ?

Qu'appelle-t-on traduire un programme source écrit dans un langage de programmation de haut niveau en un programme cible ?

王林
王林original
2020-12-08 09:20:5440627parcourir

La traduction d'un programme source écrit dans un langage de programmation de haut niveau en un programme cible s'appelle un compilateur. Le compilateur prend en entrée un programme source écrit dans un langage de programmation de haut niveau et en sortie un programme cible exprimé en langage assembleur ou en langage machine.

Qu'appelle-t-on traduire un programme source écrit dans un langage de programmation de haut niveau en un programme cible ?

L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3.

Un programme qui traduit un programme source écrit dans un langage de programmation de haut niveau en un programme objet (.OBJ) est appelé un compilateur.

Compilateur, programme de compilation, également appelé compilateur, fait référence à un programme de traduction qui traduit un programme source écrit dans un langage de programmation de haut niveau en un programme cible équivalent au format langage machine. Les compilateurs sont des programmes de traduction mis en œuvre à l'aide d'une approche d'implémentation générative. Il prend en entrée un programme source écrit dans un langage de programmation de haut niveau et en sortie un programme cible exprimé en langage assembleur ou en langage machine. Le programme cible compilé passe généralement également par une étape d'exécution afin de s'exécuter avec le support du programme en cours d'exécution, de traiter les données initiales et de calculer les résultats de calcul requis.

Le compilateur doit analyser le programme source puis le synthétiser dans le programme cible. Premièrement, vérifier l'exactitude du programme source et le décomposer en plusieurs composants de base ; deuxièmement, établir les parties de programme cible équivalentes correspondantes sur la base de ces composants de base. Afin d'accomplir ces tâches, le compilateur doit créer des tables pendant la phase d'analyse et transformer le programme source en un langage intermédiaire afin qu'il puisse être facilement référencé et traité lors de l'analyse et de la synthèse.

Introduction à l'extension associée :

La fonction de base du compilateur est de traduire le programme source (langage de haut niveau) en programme cible. Cependant, en tant que système de compilation ayant une valeur d'application pratique, en plus des fonctions de base, il devrait également avoir des fonctions importantes telles que la vérification de la syntaxe, les mesures de débogage, les méthodes de modification, le traitement de la couverture, l'optimisation du programme cible, l'utilisation de différents langages et la relation homme-machine. contact.

① Vérification grammaticale : vérifiez si le programme source est grammatical. Si ce n’est pas grammatical, le compilateur doit indiquer l’emplacement, la nature et les informations pertinentes de l’erreur grammaticale. Le programme compilé doit permettre à l'utilisateur de détecter autant d'erreurs que possible en une seule fois.

②Mesures de débogage : vérifiez si le programme source répond à l'intention du concepteur. À cette fin, le compilateur doit placer certaines instructions de sortie dans le programme cible compilé afin que les informations sur l'exécution dynamique du programme puissent être sorties lorsque le programme cible est en cours d'exécution, telles que les modifications des valeurs des variables, les circuits expérimentés au cours du programme. exécution, etc Ces informations aident les utilisateurs à vérifier et à vérifier si le programme source exprime les exigences de l'algorithme.

③Méthode de modification : fournissez aux utilisateurs une méthode simple pour modifier le programme source. Le compilateur fournit généralement des moyens de modification par lots (utilisés pour modifier un grand nombre d'erreurs temporairement difficiles à modifier) ​​et des moyens de modification sur site (utilisés pour modifier un petit nombre d'erreurs temporairement faciles à modifier lors de l'exécution).

④ Traitement de couverture : il est principalement configuré pour gérer des programmes problématiques à grande échelle avec des programmes longs et de grandes quantités de données. L'idée de base est de permettre à certains segments de programme et données de partager certaines zones de stockage, dans lesquelles seuls les programmes ou données actuellement utilisés sont stockés, les programmes et données restants qui ne sont pas utilisés temporairement sont d'abord stockés dans un stockage auxiliaire tel que des disques. et peut être transféré dynamiquement en cas de besoin.

⑤ Optimisation du programme cible : améliorez la qualité du programme cible, c'est-à-dire qu'il prend moins d'espace de stockage et que la durée d'exécution du programme est courte. En fonction des objectifs d'optimisation, le compilateur peut choisir d'implémenter l'optimisation des expressions, l'optimisation des boucles ou l'optimisation globale du programme. Une partie de l'optimisation du programme cible est effectuée au niveau du programme source et une autre est effectuée au niveau du programme cible.

⑥Utiliser différents langages : sa fonction aide les utilisateurs à écrire des applications en utilisant plusieurs langages de programmation ou à appliquer des modules de programme existants écrits dans différents langages. Le plus courant est la combinaison d’un langage de haut niveau et d’un langage assembleur. Cela peut non seulement compenser la difficulté des langages de haut niveau à exprimer certaines opérations de traitement non numériques ou à contrôler et accéder directement aux périphériques et aux registres matériels, mais facilite également l'écriture de programmes de base en langage assembleur pour améliorer l'efficacité opérationnelle.

⑦ Connexion homme-machine : obtenez des fonctions bien conçues lors de la détermination du plan de mise en œuvre du compilateur. L'objectif est d'aider les utilisateurs à comprendre les conditions de travail internes en temps opportun pendant les étapes de compilation et d'exécution, et de superviser et contrôler efficacement le fonctionnement du système. Le plan de mise en œuvre des premiers compilateurs consistait à intégrer complètement les fonctions ci-dessus dans le compilateur. Cependant, la pratique courante consiste à configurer les débogueurs, les éditeurs et les assembleurs de connexions avec la prise en charge du système d'exploitation pour faciliter le débogage, la modification, l'écrasement et l'intégration de fonctions dans différents langages. Cependant, lors de la conception d'un compilateur, une attention particulière doit être accordée à des questions telles que la manière d'interfacer avec ces sous-systèmes.

(Recommandations associées : Vidéo de programmation)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn