Maison Problème commun Comment s'appelle un programme de traduction qui traduit un programme source en langage de haut niveau en un programme cible ?

Comment s'appelle un programme de traduction qui traduit un programme source en langage de haut niveau en un programme cible ?

Mar 19, 2021 pm 04:13 PM
源程序 目标程序 高级语言

Le programme de traduction qui traduit un programme source en langage de haut niveau en un programme cible est appelé 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.

Comment s'appelle un programme de traduction qui traduit un programme source en langage de haut niveau en un programme cible ?

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

Le programme de traduction qui traduit un programme source en langage de haut niveau en un programme cible 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 au format de langage machine équivalent. 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.

Caractéristiques du compilateur :

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.

Les principales structures de données utilisées dans l'analyse et la synthèse de structures de données, y compris les tables de symboles, les tables de constantes et les programmes de langage intermédiaire. La table des symboles se compose d'identifiants utilisés dans le programme source ainsi que de leurs attributs, qui incluent des types (tels que des variables, des tableaux, des structures, des fonctions, des procédures, etc.), des types (tels que des entiers, des types réels, des chaînes, des types complexes, etc.). étiquettes), etc.), ainsi que d'autres informations requises par le programme cible. La table des constantes comprend les constantes utilisées dans le programme source, y compris la représentation machine des constantes et les adresses du programme cible qui leur sont attribuées. Un programme en langage intermédiaire est une forme intermédiaire de programme introduite avant la traduction du programme source en programme cible. Le choix de sa représentation dépend de la manière dont le compilateur l'utilisera et le traitera ultérieurement. Les formes linguistiques intermédiaires couramment utilisées comprennent la représentation polonaise, les triples, les quadruples et les triples indirects.

L'analyse d'une partie du programme source se fait à travers trois étapes : analyse lexicale, analyse syntaxique et analyse sémantique. L'analyse lexicale est complétée par un programme d'analyse lexicale (également appelé scanner), dont la tâche est d'identifier les mots (c'est-à-dire les identifiants, les constantes, les mots réservés et les opérateurs divers, les signes de ponctuation, etc.), de créer des tables de symboles et des tables de constantes, et convert Le programme source est converti en un formulaire interne facile à analyser et à traiter par le compilateur.

L'analyseur de syntaxe est la partie centrale du compilateur. Sa tâche principale est de vérifier si le programme source est grammatical selon les règles grammaticales du langage. S'il n'est pas grammatical, un message d'erreur de syntaxe sera généré ; s'il est grammatical, la structure grammaticale du programme source sera décomposée et un programme interne sous forme de langage intermédiaire sera construit.

Le but de l'analyse grammaticale est de comprendre comment les mots forment des phrases et comment les énoncés forment des programmes. Le programme d'analyse sémantique vérifie en outre l'exactitude sémantique des structures juridiques des programmes. Son objectif est de garantir l'utilisation correcte des identifiants et des constantes, de collecter et de sauvegarder les informations nécessaires dans des tables de symboles ou des programmes de langage intermédiaire et d'effectuer le traitement sémantique correspondant.

Pour plus de connaissances sur la programmation, veuillez visiter : 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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les caractéristiques du langage machine, du langage assembleur et du langage de haut niveau ? Quelles sont les caractéristiques du langage machine, du langage assembleur et du langage de haut niveau ? Apr 22, 2021 pm 04:00 PM

Les caractéristiques du langage machine : il est difficile à apprendre, à comprendre et à comprendre ; il n'a pas d'universalité ; il nécessite une allocation manuelle de mémoire et il fonctionne le plus rapidement ; Les caractéristiques du langage assembleur : l'efficacité d'exécution du programme est très élevée, il prend peu d'espace de stockage, il s'exécute rapidement, il manque de polyvalence et le programme n'est pas facile à transplanter ; Caractéristiques des langages de haut niveau : facilité, certaine polyvalence, et ne pouvant être directement reconnus et exécutés par les ordinateurs.

Quel est le logiciel système capable de traduire des programmes sources écrits dans des langages de haut niveau en programmes cibles ? Quel est le logiciel système capable de traduire des programmes sources écrits dans des langages de haut niveau en programmes cibles ? Jan 22, 2021 pm 05:36 PM

Le logiciel système capable de traduire des programmes sources écrits dans des langages de haut niveau en programmes cibles est un « compilateur ». Un compilateur est un programme de traduction implémenté à 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 utilise un programme cible exprimé en langage assembleur ou en langage machine en sortie.

Le langage assembleur est-il un langage de haut niveau ? Le langage assembleur est-il un langage de haut niveau ? Jan 30, 2023 pm 03:14 PM

Le langage assembleur n’est pas un langage de haut niveau ; c’est un langage de bas niveau comme le langage machine. La différence entre le langage assembleur et le langage assembleur : 1. L'efficacité de programmation du langage assembleur n'est pas élevée, tandis que l'efficacité de programmation du langage assembleur est supérieure à celle du langage assembleur 2. La lisibilité du langage assembleur est ; supérieur à celui du langage assembleur ; 3. Le langage assembleur est un langage machine, tandis que le langage de haut niveau est simplifié et proche du langage naturel humain.

Le langage machine est-il un langage de haut niveau ? Le langage machine est-il un langage de haut niveau ? Aug 22, 2023 pm 05:13 PM

Le langage machine n'est pas un langage de haut niveau. C'est un langage de bas niveau utilisé pour le matériel informatique. Il interagit directement avec le matériel sous-jacent de l'ordinateur et utilise un codage binaire pour représenter les instructions et les données. ou fonction du matériel informatique. , Le langage de haut niveau est un langage de programmation plus proche du langage humain, offrant des capacités d'abstraction et une efficacité de développement plus élevées. Le langage machine et le langage de haut niveau jouent des rôles différents dans la programmation, chacun avec ses propres avantages et. scénarios applicables.

Lancement du premier robot humanoïde open source au monde basé sur Hongmeng et prenant en charge le langage de haut niveau JS/ArkTS Lancement du premier robot humanoïde open source au monde basé sur Hongmeng et prenant en charge le langage de haut niveau JS/ArkTS Nov 17, 2023 pm 08:07 PM

Kuai Technology a rapporté le 17 novembre que ce matin, Shenzhen Kaihong a annoncé que le premier robot humanoïde KaihongOS basé sur l'open source Hongmeng, développé conjointement par lui et Leju Robot, avait été officiellement lancé. Selon l'introduction officielle, il s'agit d'un système d'enseignement entièrement intelligent équipé de KaihongOS et utilisant des robots comme support, couvrant plusieurs scénarios tels que l'industrie et les services. Ce robot est équipé d'un capteur de fréquence cardiaque d'oxygène dans le sang, d'un capteur de température et d'humidité, d'un capteur de température infrarouge, d'un capteur d'induction du corps humain, d'un NFC, d'un écran OLED et de lumières LED. Grâce à de multiples détections articulaires, il peut exécuter intelligemment des décisions. Dans le même temps, le robot peut également être interconnecté avec des téléphones mobiles, des tablettes, des ordinateurs et d'autres appareils en temps réel, éliminant ainsi la méthode traditionnelle de connexion par faisceau de câbles et améliorant l'efficacité de l'enseignement. En même temps, ce robot dispose également de 17

Quel est l'emplacement de la fonction principale dans le programme source c ? Quel est l'emplacement de la fonction principale dans le programme source c ? Nov 19, 2020 am 11:06 AM

Le langage C stipule que dans un programme source, la position de la fonction principale peut être arbitraire ; lors de l'exécution d'un programme écrit en langage C, la fonction principale équivaut à l'entrée dans le programme d'exécution quelle que soit la position de la fonction principale dans ; Pendant tout le processus, un programme C commence toujours son exécution à partir de la fonction mam.

Analyse des fonctionnalités du langage Go : est-ce un langage de haut niveau ? Analyse des fonctionnalités du langage Go : est-ce un langage de haut niveau ? Mar 23, 2024 pm 04:00 PM

Analyse des fonctionnalités du langage Go : est-ce un langage de haut niveau ? Le langage Go est un langage de programmation statiquement fortement typé développé par Google. Il est conçu pour être simple, facile à lire et à écrire et possède des fonctionnalités de concurrence efficaces. Ainsi, selon la définition du langage de haut niveau, analysons si le langage Go est un langage de haut niveau. Définition du langage de haut niveau Un langage de haut niveau est un langage de programmation plus proche du langage humain que du langage machine. Il présente les caractéristiques d'une syntaxe concise, facile à lire et à écrire et d'un niveau d'abstraction élevé, ce qui permet aux programmeurs de se concentrer davantage sur la résolution du problème lui-même.

Quel est le programme écrit appelé programme source ? Quel est le programme écrit appelé programme source ? Aug 29, 2022 pm 04:47 PM

Un programme écrit dans un « langage de programmation » est appelé programme source. Le code source fait référence à un fichier texte non compilé écrit conformément à certaines spécifications du langage de programmation. Il fait référence à une série d'instructions de langage informatique lisibles par l'homme, généralement écrites dans un langage de haut niveau. Le but ultime d'un programme source informatique est de traduire un texte lisible par l'homme en instructions binaires qu'un ordinateur peut exécuter. Ce processus est appelé compilation et est réalisé via un compilateur.