词序
更多
查询
词典释义:
compiler
时间: 2023-10-14 09:18:57
[kɔ̃pile]

v.t. 1. 〈古〉纂,缉录 2. 〈贬〉剽窃,抄袭 3. 〔息〕译

词典释义

v.t.
1. 〈古〉纂,缉录
(Il) vivait modestement dans sa petite ville, compilant de vieux ouvrages sur l'histoire du Maroc (Tharaud).(他)在家乡的小城里过着清贫的生活,靠纂有关摩洛哥历史的古籍度日。(塔罗)
2. 〈贬〉剽窃,抄袭
Pendant des années, il a compilé des monceaux de notes.多年来,他抄袭了大量的注释。
3. 〔息〕

近义、反义、派生词
近义词:
copier,  démarquer,  piller,  plagier,  assembler,  collecter,  réunir,  collectionner
联想词
compilation 辑,汇; implémenter 调试交机; documenter 提供文献,提供; éditer 出版,发行; compilateur 辑者,汇者; réécrire 改写; coder 将…译成电码,给…码; publier 公布,发表; synthétiser 综合,概括; analyser 分析,剖析,解析; collecter 募捐;
当代法汉科技词典
v. t. 【计】
短语搭配

fichier binaire compilé已编译的二进制文件;编译的二进位档案

la dernière compile des beatles披头士的最后一张专辑

logiciel compilé à partir de différentes versions de fichiers sources内建软体;随时生成软件

原声例句

Avec une table de référence de chiffre et une technique astucieuse, on peut compiler tous les nombres de 1 à 9999 dans un seul symbole !

借助数字参考表和巧妙技巧,我们可以用一个符号编制从1到9999的所有数字!

[硬核历史冷知识]

J'ai décidé de compiler ces 300 expressions idiomatiques françaises (un peu moins de 300) dans mon nouveau cours Expressions authentiques.

我决定在我的新课程“地道表达”中汇编这300个法语习语(不到300个)。

[Conseils d'apprentissage - Français Authentique]

J'ai essayé de compiler mes six meilleurs conseils, mes six meilleures astuces pour t'aider à résoudre ce problème.

我试图汇集我最好的六个技巧,我最好的六个技巧来帮助你解决这个问题。

[Conseils d'apprentissage - Français Authentique]

Encore une fois, c'est juste une méthode que j'ai compilée mais que je n'ai pas vraiment inventée.

再说一次,这只是我积攒的一个方法,我啥都没有编造。

[Conseils d'apprentissage - Français Authentique]

Je n'ai rien inventé, j'ai compilé la recherche académique sur le sujet et des témoignages de polyglottes, donc des personnes qui parlent cinq, six, sept, huit, dix langues, donc des gens qui savent comment on apprend à parler une langue.

我什么都没有发明,我收集了相关话题的学术研究以及多语者的证言,也就是会说5、6、7、8、10门语言的人,所以,他们懂得如何学习一门语言。

[Conseils d'apprentissage - Français Authentique]

Et en compilant tout ça, eh bien, ça a donné la formule que je viens de partager avec toi.

通过收集这些,我跟你分享的公式就产生了。

[Conseils d'apprentissage - Français Authentique]

Mais comment déchirer au plus vite des millions de fiches de renseignements individuels, compilé pendant près de quatre années de totalitarisme ?

可是,如何以最快的速度,把这些在将近四十年的极权统治下编纂的几百万份个人档案完全销毁呢?

[那些我们没谈过的事]

Il faisait des prospectus, traduisait des journaux, annotait des éditions, compilait des biographies, etc.

他写书评,译报刊资料,作注解,编纂一些人的生平事迹,等等。

[悲惨世界 Les Misérables 第三部]

Le bloc de magnétite gisait silencieusement au milieu d’eux, absorbant et compilant leurs pensées, comme un témoin muet.

那块铁矿石也静静地躺在他们中间,仿佛吸收和汇集他们的思想,也像在默默地见证着什么。

[《三体2:黑暗森林》法语版]

Il y a un recueil qui se compose de poèmes de chansons à boire, de chansons paillardes et de pièces de théâtre écrit et compilé par les normands Olivier Basselin et Jean Le Houx se nommant « Vauxdevire » .

有一部由诺曼人奥利维尔·巴塞林和让·勒乌创作和编撰的酒歌、淫歌和戏剧的诗集,名为“Vauxdevire”。

[精彩视频短片合集]

例句库

Red compétitivité du siècle, des studios de Beijing est bien connu de planification, de recherche, compilées en un seul organisme professionnel.

红色世纪竞争力工作室是北京地区著名的集策划、调研、编撰为一体的专业机构。

L’ingénieur en localisation compile également des mémoires de traduction à partir d'anciens fichiers déjà traduits.

本地化工程师也通过已翻译的旧文档,编撰翻译备忘资料信息。

Quand dans le monde d'autres nationalités occupaient toujours le temps de fable de mythe, le Chinois déjà compilait possède l'histoire.

当世界上其他民族尚处在神话传说的时代,中国人已经在编撰自己的历史了。”

Pour parvenir à faire du SCEE une norme statistique internationale, il faudrait arrêter un cadre de définitions, de classifications, de comptes et de tableaux à compiler à l'échelon mondial.

把环经会计制度提高到国际统计标准水平,将意味着商定一个在全球级别上编汇的定义、分类、账户和表格框架。

Mme Shin regrette l'insuffisance de statistiques ventilées par genre dans le rapport et demande comment elles ont été compilées.

Shin女士对报告没有充分提供按性别细分的统计数字感到遗憾,并且询问统计数字是如何编制的。

Les technologies modernes de l'information doivent être mises à profit pour compiler, harmoniser, mettre à jour et promulguer les lois et règlements pertinents de façon à élargir l'accès du public au système juridique et à l'amener à s'y conformer, aux fins de l'utilisation durable des ressources naturelles.

必须利用现代信息技术汇编、统一、更新和颁布相关的法律法规,以促进公众利用和遵守可持续利用自然资源的法律制度。

Il faudrait renforcer les efforts visant à recueillir, compiler et diffuser des données ventilées par sexe aux fins de la prise en compte des questions liées à l'égalité entre les sexes et de l'établissement de rapports à ce sujet.

应更加努力地收集、编写和散发按社会性别分列的数据,用于社会性别主流化方面的监测和报告。

« Le Service de contrôle est un organisme de répression des infractions spécialement constitué auquel la loi sur la prévention du blanchiment du produit d'activités criminelles donne pour mission de surveiller les opérations financières inhabituelles ou suspectes et de recueillir, recevoir, enregistrer, traiter, compiler, archiver et analyser des informations susceptibles d'être communiquées aux organes d'enquête ou d'instruction et aux tribunaux, qui peuvent les utiliser à des fins de prévention, de détection, d'enquête, d'instruction ou de jugement de faits de blanchiment ou de tentative de blanchiment du produit d'activités criminelles ou de toute autre activité illicite connexe. »

“管制处是一个特别成立的执法机构,根据《防止清洗犯罪收益法》,应对不寻常和可疑的财务交易行使控制,并且应取得、接受、登记、处理、整理、储存、分析和提供资料给审前调查机构和法院,可以利用这些资料于防止、侦查、审前调查或宣判清洗或企图清洗犯罪收益或与它有关的任何其他应受处罚的活动”。

Cette liste était compilée et tenue à jour sur la base des informations communiquées par les états membres du Comité et par les organismes du système des Nations Unies conformément à l'accord conclu par la Réunion à sa vingt-quatrième session.

新和编制该清单的依据是委员会成员国和联合国系统各实体根据机构间会议第二十四届会议达成的一致意见而提供的资料。

À cet effet, et pour tenter de corriger les distorsions suscitées par les organes de presse partisans, l'ONUCI a mis en place un bureau d'information chargé de collecter, compiler et traiter les informations sur l'évolution de la situation dans l'ensemble du pays, qui sont communiquées aux organes de presse nationaux et internationaux.

为此,而且为纠正派系媒体制造的扭曲新闻,联科行动设立了一个新闻股,负责收集、比较和处理可与国内和国际媒体分享的关于全国动态的新闻。

À l'issue d'un vaste processus de consultation, le Haut-Commissariat a compilé les observations formulées au sujet de ce document par les praticiens du développement, parmi lesquels les États membres, les institutions financières internationales, les institutions spécialisées des Nations Unies, les donateurs, les universitaires et la société civile.

经过广泛协商过程之后,办事处办汇编了由从事发展的不同工作者就准则草案提出的意见,其中有会员国、国际金融机构、联合国机构、捐助方、学术界和民间社会。

Depuis, les organisations ont décidé à qui incombait la responsabilité de la collecte et de la fourniture de données et ont compilé l'ensemble de données pour tous les pays.

在这之后,各组织就其各自在数据收集和提供方面的责任达成共识,并为所有国家编制了数据组。

L'Organisation des Nations Unies pourrait jouer un rôle utile en compilant les pratiques optimales dans ce domaine.

联合国可以为收集这一领域的最佳做法发挥重要作用。

Selon les données compilées par le Groupe d'experts intergouvernemental sur l'évolution du climat (GIEC), les activités humaines figuraient parmi les principaux facteurs qui contribuaient à ces changements.

政府间气候变化专门委员会所汇集的资料表明,人类活动是导致气候变化的主要因素之一。

Des efforts spéciaux sont entrepris pour aider les PGID à compiler leurs fichiers d'experts et à les afficher sur le Web of Information for Development (WIDE).

目前正在作出特别努力,帮助小岛屿发展中国家编制专家名册,并在发展信息网上公布。

Le rapporteur du Groupe intergouvernemental d'experts, exposant la méthodologie établie par le groupe d'experts concernant la suite des travaux, a précisé que l'étude se fonderait sur les réponses des États au questionnaire dont la Commission avait été saisie, ainsi que sur des informations communiquées par des experts à titre individuel et par des sources du secteur privé, compilées en coopération avec la Commission des Nations Unies pour le droit commercial international (CNUDCI).

该政府间专家组的报告员介绍了专家组为进一步的工作确定的方法,指出该研究报告将依据通过已提供给委员会的调查表从各国政府收到的资料和数据和通过与联合国国际贸易法委员会的合作从个别专家和私营部门来源收集的资料。

Comme les juridictions internes des États appliquent de plus en plus les normes énoncées dans le Pacte international relatif aux droits civils et politiques, il est impératif que les décisions du Comité puissent être consultées partout dans le monde, dans un recueil convenablement compilé et indexé.

由于各国国内法院越来越多地适用《公民权利和政治权利国际公约》所载的标准,因此委员会的决定必须让全世界都能在适当汇编和索引的卷本中查阅。

Le Comité est d'avis qu'il faudrait examiner la suite donnée aux recommandations du Bureau et contrôler périodiquement les opérations pour aider à déterminer en quoi il serait possible d'en accroître l'efficacité tout en réalisant des économies, qu'il s'agisse d'activités administratives ou d'activités de fond, notamment en éliminant les chevauchements d'activités avec d'autres organes qui compilent des statistiques, ainsi qu'avec des publications connexes.

委员会认为,应该进行后续审查,并且应该有例行业务审计和审查,帮助查明行政和实质性部分中进一步提高效率及实现节约的机会,其中包括消除统计和相关出版物领域内与其他机关的重叠。

Notre but est qu'en combinant et en compilant les évaluations conduites par le GAFI, la Banque Mondiale et les organes régionaux comparables au GAFI, tous les pays soient en mesure de se conformer aux Normes du GAFI.

我们的目标是,通过金融行动工作组、货币基金组织、世界银行和类似于金融行动工作组的区域机构共同进行统一的评估,世界各国都将按照金融行动工作组的标准得到评估。

Cette initiative complétera le système de connaissance du Cadre de coopération mondiale en offrant un système de connaissances axé sur le Sud au PNUD, aux organismes des Nations Unies et à tous les autres partenaires de développement pour engendrer, compiler et diffuser, en y donnant accès, des pratiques optimales et des solutions de développement confirmées axées sur le Sud et qui sont les plus pertinentes pour la réalisation des OMD.

该举措将为开发计划署、联合国各组织和所有其他发展伙伴提供一个专门的南方知识系统,用以形成、编制、传播和查阅与实现千年发展目标最为相关的南方最佳做法和得到验证的发展办法,以此补充全球合作框架的知识系统。

法语百科

Un compilateur est un programme informatique qui transforme un code source écrit dans un langage de programmation (le langage source) en un autre langage informatique (le langage cible).

Pour qu'il puisse être exploité par la machine, le compilateur traduit le code source, écrit dans un langage de haut niveau d'abstraction, facilement compréhensible par l'humain, vers un langage de plus bas niveau, un langage d'assemblage ou langage machine. Dans le cas de langage semi-compilé (ou semi-interprété), le code source est traduit en un langage intermédiaire, sous forme binaire (code objet ou bytecode), avant d'être lui-même interprété ou compilé.

Inversement, un programme qui traduit un langage de bas niveau vers un langage de plus haut niveau est un décompilateur.

Un compilateur effectue les opérations suivantes : analyse lexicale, pré-traitement (préprocesseur), analyse syntaxique (parsing), analyse sémantique, et génération de code optimisé.

Quand le programme compilé (code objet) peut être exécuté sur un ordinateur dont le processeur ou le système d'exploitation est différent de celui du compilateur, on parle de compilation croisée.

La compilation est souvent suivie d'une étape d’édition des liens, pour générer un fichier exécutable.

On distingue deux options de compilation :

Ahead-of-time (AOT), où il faut compiler le programme avant de lancer l'application : c'est la situation traditionnelle. Compilation à la volée (Just-in-Time, en abrégé JIT) : cette faculté est apparue dans les années 1980 (par ex. avec Tcl/Tk).

Historique

Les logiciels des premiers ordinateurs étaient écrits en langage assembleur. Les langages de programmation de plus haut niveau (dans les couches d'abstraction) n'ont été inventés que lorsque les avantages apportés par la possibilité de réutiliser le logiciel sur différents types de processeurs sont devenus plus importants que le coût de l'écriture d'un compilateur. La capacité de mémoire très limitée des premiers ordinateurs a également posé plusieurs problèmes techniques dans le développement des compilateurs.

Vers la fin des années 1950, des langages de programmation indépendants des machines font pour la première fois leur apparition. Par la suite, plusieurs compilateurs expérimentaux sont développés. Le premier compilateur, A-0 System (pour le langage A-0) est écrit par Grace Hopper, en 1952. L'équipe FORTRAN dirigée par John Backus d'IBM est considérée comme ayant développé le premier compilateur complet, en 1957. COBOL, développé en 1959 et reprenant largement des idées de Grace Hopper est le premier langage à être compilé sur plusieurs architectures.

Dans plusieurs domaines d'application, l'idée d'utiliser un langage de plus haut niveau d'abstraction s'est rapidement répandue. Avec l'augmentation des fonctionnalités supportées par les langages de programmation plus récents et la complexité croissante de l'architecture des ordinateurs, les compilateurs se sont de plus en plus complexifiés.

En 1962, le premier compilateur « auto-hébergé » - capable de compiler son propre code source en langage de haut niveau - est créé, pour le LISP, par Tim Hart et Mike Levin au Massachusetts Institute of Technology (MIT). À partir des années 1970, il est devenu très courant de développer un compilateur dans le langage qu'il doit compiler, faisant du Pascal et du C des langages de développement très populaires.

Structure et fonctionnement

Schéma de compilation multi-source multi-cible
Schéma de compilation multi-source multi-cible

La tâche principale d'un compilateur est de produire un code objet correct qui s'exécutera sur un ordinateur. La plupart des compilateurs permettent d'optimiser le code, c'est-à-dire qu'ils vont chercher à améliorer la vitesse d'exécution, ou réduire l'occupation mémoire du programme.

En général, le langage source est « de plus haut niveau » que le langage cible, c'est-à-dire qu'il présente un niveau d'abstraction supérieur. De plus, le code source du programme est généralement réparti dans plusieurs fichiers.

Un compilateur fonctionne par analyse-synthèse : au lieu de remplacer chaque construction du langage source par une suite équivalente de constructions du langage cible, il commence par analyser le texte source pour en construire une représentation intermédiaire qu'il traduit à son tour en langage cible.

On sépare le compilateur en au moins deux parties : une partie avant (ou frontale), parfois appelée « souche », qui lit le texte source et produit la représentation intermédiaire ; et une partie arrière (ou finale), qui parcourt cette représentation pour produire le texte cible. Dans un compilateur idéal, la partie avant est indépendante du langage cible, tandis que la partie arrière est indépendante du langage source. Certains compilateurs effectuent des traitements substantiels sur la partie intermédiaire, devenant une partie centrale à part entière, indépendante à la fois du langage source et de la machine cible. On peut ainsi écrire des compilateurs pour toute une gamme de langages et d'architectures en partageant la partie centrale, à laquelle on attache une partie avant par langage et une partie arrière par architecture.

Schéma d'une chaîne de compilation classique.
Schéma d'une chaîne de compilation classique.

Les étapes de la compilation incluent :

le prétraitement, nécessaire pour certains langages comme C, qui prend en charge la substitution de macro et de la compilation conditionnelle.

Généralement, la phase de prétraitement se produit avant l'analyse syntaxique ou sémantique ; par exemple dans le cas de C, le préprocesseur manipule les symboles lexicaux plutôt que des formes syntaxiques.

l'analyse lexicale, qui découpe le code source en petits morceaux appelés jetons (tokens).

Chaque jeton est une unité atomique unique de la langue (unités lexicales ou lexèmes), par exemple un mot-clé, un identifiant ou un symbole. La syntaxe de jeton est généralement un langage régulier, donc reconnaissable par un automate à états finis. Cette phase est aussi appelée à balayage ou lexing ; le logiciel qui effectue une analyse lexicale est appelé un analyseur lexical ou un scanner. Un analyseur lexical pour un langage régulier peut être généré par un programme informatique, à partir d'une description du langage par des expressions régulières. Deux générateurs classiques sont lex et flex.

l'analyse syntaxique implique l'analyse de la séquence jeton pour identifier la structure syntaxique du programme.

Cette phase s'appuie généralement sur la construction d'un arbre d'analyse ; on remplace la séquence linéaire des jetons par une structure en arbre construite selon la grammaire formelle qui définit la syntaxe du langage. Par exemple, une condition est toujours suivie d'un test logique (égalité, comparaison…). L'arbre d'analyse est souvent modifié et amélioré au fur et à mesure de la compilation. Yacc et GNU Bison sont les analyseurs syntaxiques les plus utilisés.

l'analyse sémantique est la phase durant laquelle le compilateur ajoute des informations sémantiques à l'arbre d'analyse et construit la table des symboles.

Cette phase vérifie le type (vérification des erreurs de type), ou l'objet de liaison (associant variables et références de fonction avec leurs définitions), ou une tâche définie (toutes les variables locales doivent être initialisées avant utilisation), peut émettre des avertissements, ou rejeter des programmes incorrects. L'analyse sémantique nécessite habituellement un arbre d'analyse complet, ce qui signifie que cette phase fait suite à la phase d'analyse syntaxique, et précède logiquement la phase de génération de code ; mais il est possible de replier ces phases en une seule passe.

la transformation du code source en code intermédiaire ;

l'application de techniques d'optimisation sur le code intermédiaire : c'est-à-dire rendre le programme « meilleur » selon son usage (voir infra).

la génération de code avec l'allocation de registres et la traduction du code intermédiaire en code objet, avec éventuellement l'insertion de données de débogage et d'analyse de l'exécution ;

et finalement l'édition des liens.

L'analyse lexicale, syntaxique et sémantique, le passage par un langage intermédiaire et l'optimisation forment la partie frontale. La génération de code et l'édition de liens constituent la partie finale.

Ces différentes étapes font que les compilateurs sont toujours l'objet de recherches.

Lien avec les interpréteurs

L'implémentation (réalisation concrète) d'un langage de programmation peut être interprétée ou compilée. Cette réalisation est un compilateur ou un interpréteur, et un langage de programmation peut avoir une implémentation compilée, et une autre interprétée.

Le problème de l'amorçage (bootstrap)

Les premiers compilateurs ont été écrits directement en langage assembleur, un langage symbolique élémentaire correspondant aux instructions du processeur cible et quelques structures de contrôle légèrement plus évoluées. Ce langage symbolique doit être assemblé (et non compilé) et lié pour obtenir une version exécutable. En raison de sa simplicité, un programme simple suffit à le convertir en instructions machines.

Les compilateurs actuels sont généralement écrits dans le langage qu'ils doivent compiler ; par exemple un compilateur C est écrit en C, SmallTalk en SmallTalk, Lisp en Lisp, etc. Dans la réalisation d'un compilateur, une étape décisive est franchie lorsque le compilateur pour le langage X est suffisamment complet pour se compiler lui-même : il ne dépend alors plus d'un autre langage (même de l'assembleur) pour être produit.

Il est complexe de détecter un bug de compilateur. Par exemple, si un compilateur C comporte un bug, les programmeurs en langage C auront naturellement tendance à mettre en cause leur propre code source, non pas le compilateur. Pire, si ce compilateur buggé (version V1) compile un compilateur (version V2) non buggé, l'exécutable compilé (par V1) du compilateur V2 pourrait être buggé. Pourtant son code source est bon. Le bootstrap oblige donc les programmeurs de compilateurs à contourner les bugs des compilateurs existants.

Compilateur simple passe et multi passe

Compilateur multi-passes typique.
Compilateur multi-passes typique.

La classification des compilateurs par nombre de passes a pour origine le manque de ressources matérielles des ordinateurs. La compilation est un processus couteux et les premiers ordinateurs n'avaient pas assez de mémoire pour contenir un programme devant faire ce travail. Les compilateurs ont donc été divisés en sous programmes qui font chacun une lecture de la source pour accomplir les différentes phases d’analyse lexicale, d'analyse syntaxique et d'analyse sémantique.

La capacité de combiner le tout en un seul passage a été considérée comme un avantage car elle simplifie la tâche d'écriture d’un compilateur et il compile généralement plus rapidement qu’un compilateur multi passe. Ainsi, suivant les ressources limitées des premiers systèmes, de nombreux langages ont été spécifiquement conçus afin qu'ils puissent être compilés en un seul passage (par exemple, le langage Pascal).

Dans certains cas, la conception d'une fonctionnalité de langage a besoin d'un compilateur pour effectuer plus d'une passe sur la source. Par exemple, considérons une déclaration figurant à la ligne 20 de la source qui affecte la traduction d'une déclaration figurant à la ligne 10. Dans ce cas, la première passe doit recueillir des renseignements sur les déclarations figurant après les déclarations qu'ils affectent, avec la traduction proprement dite qui s’effectue lors d'un passage ultérieur.

L'inconvénient de la compilation en un seul passage est qu'il n'est pas possible d'exécuter la plupart des optimisations sophistiquées nécessaires pour générer du code de haute qualité. Il peut être difficile de dénombrer exactement le nombre de passes qu’un compilateur optimisant effectue.

Le fractionnement d'un compilateur en petits programmes est une technique utilisée par les chercheurs intéressés à produire des compilateurs performants. Prouver la justesse d'une série de petits programmes nécessite souvent moins d'effort que de prouver la justesse d'un plus grand programme unique équivalent.

Compilateur de compilateur

Un compilateur de compilateur est un programme qui peut générer une, voire toutes les parties d'un compilateur.

Qualité

Selon l'usage et la machine qui va exécuter un programme, on peut vouloir optimiser la vitesse d'exécution, l'occupation mémoire, la consommation d'énergie, la portabilité sur d'autres architectures, ou le temps de compilation.

Chaîne de compilation

Compilation croisée

La compilation croisée fait référence aux chaînes de compilation capables de traduire un code source en code objet dont l'architecture processeur diffère de celle où la compilation est effectuée. Ces chaînes sont principalement utilisés en informatique industrielle et dans les systèmes embarqués.

Autres compilations

Byte code ou code octet

Certains compilateurs traduisent un langage source en langage machine virtuel, c'est-à-dire en un code (généralement binaire) exécuté par une machine virtuelle : un programme émulant les principales fonctionnalités d'un ordinateur. Le portage d'un programme ne requiert ainsi que le portage de la machine virtuelle, qui sera de fait soit un interprète, soit un second traducteur (pour les compilateurs multi-cibles). Ainsi des compilateurs traduisant Pascal en P-Code, Modula 2 en M-Code, Simula en S-code, ou plus récemment du code Java en bytecode Java (code objet).

Exemples

Si la plupart des compilateurs traduisent un code d'un langage de programmation vers un autre, ce n'est pas le cas de tous les compilateurs. Par exemple, le logiciel LaTeX compile un code écrit dans le langage de formatage de texte LaTeX, pour le convertir en un autre langage de présentation, par exemple DVI, HTML, PostScript…

Certains compilateurs traduisent, de façon incrémentale ou interactive, le programme source (tapé par l'utilisateur) en code machine. Par exemple, certaines implémentations de Common Lisp (comme SBCL) traduisent un bout de programme en code machine (en mémoire).

Les compilateurs à la volée (Just in time) traduisent une représentation intermédiaire en code machine, de manière progressive.

中文百科

编译器(Compiler),是一种电脑程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。

它主要的目的是将便于人编写,阅读,维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的进程,也就是运行档。编译器将原始进程(Source program)作为输入,翻译产生使用目标语言(Target language)的等价进程。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编进程(assembler)→ 目标代码(object code)→ 链接器(Linker)→ 运行档(executables), 最后打包好的文件就可以给电脑去判读运行了。

历史

逐步求精的进程开发(也是 1971年 Wirth 的论文的标题)

使用递归下降解析器

使用EBNF指定语言的语法。

代码生成器产生便携P-code

在自举问题的正式描述中使用T-diagram。

编译器输出

编译器的一种分类方式是按照生成代码所运行的系统平台划分,这个平台称为目标平台。 有一些编译器输出的代码,将运行于与编译器所在相同类型的计算机和操作系统之上,这种编译器叫做本地编译器。输出可以运行于不同的平台之上的编译器,叫做交叉编译器。由于嵌入式系统通常没有软件开发环境,因此,为这类系统开发软件时,通常需要使用交叉编译器。 编译器所输出于虚拟机上运行之代码,编译器和编译器输出的运行平台有可能相同,也有可能不同。因此,对于这类编译器,不去区分它是本地编译器还是交叉编译器。

法法词典

compiler verbe transitif

  • 1. collecter pour assembler (des éléments de sources diverses)

    compiler des titres de chansons à succès

  • 2. informatique traduire (un code source) en fichier binaire que l'ordinateur peut exécuter

    compiler les données avec le compilateur

相关推荐

Ac 元素锕 (actinium)

transporter 运输,运送

réfrigérer v. t. 1. 使, 使冻, 藏:2. [俗]使冻僵:3<转>淡接待, 淡对待

infect a. (m) 1发出恶臭, 散发恶臭:2<口>令人厌恶, 惹人讨厌3坏透, 极恶劣常见用法

boss n. m<英><口>工头, 领, ; 上; 头儿

opalin opalin, e a. 白色的,光的 n.f. 白,瓷;白品

débuter 首次参加,开始

celles 这些个

dépendance n. f. 1. 从, 附, 隶, 依赖, 依靠2. pl. 附建筑物, 3. 相关, 相依4. [](一国对另一国的)依赖(关系)5. (毒)瘾

asservissant a.奴役, 奴化