Discuter:Compilateur

Un article de Wikipédia, l'encyclopédie libre.

Il faut trouver un autre nom pour [C#] (caractère '#' interdit dans les URL). -- Looxix 3 aoû 2003 à 04:11 (CEST)

Je propose [C dièse]. C'est comme cela que je le prononce en français. Vargenau 3 aoû 2003 à 10:15 (CEST)
Ou bien [C sharp], plus proche de la phonétique anglaise, non ?
Aurelienc
Oui mais on est dans le wiki francophone... et "#" chez nous, ça se dit "dièse", non ? Pour les anglophiles, on peut faire une redirection. Même problème d'ailleurs pour "point net"... Serait-ce une cabale de Microsoft cette affaire ;-) Didier 17 sep 2003 à 18:57 (CEST)
Si on veut vraiment traduire, c'est do dièse. L'article promet ;D Didup 17 sep 2003 à 19:04 (CEST)

C dièse, c'est limite comique tout de même... je pencherai plus vers C sharp car c'est d'origine américaine tout de même et plus de gens comprennent mais bonKoxinga 17 sep 2003 à 19:18 (CEST)

De toute façon, ce caractère n'est pas un dièse ; les anglophones le nomment, entre autres, hash. Voir l'article « dièse », justement. J'en conviens, les anglophones disent bien C sharp : en:C Sharp programming language. Vincent 17 sep 2003 à 19:40 (CEST)

Juste pour dire que dotNet est normalisé par l'ECMA et que le code intermédiare normalisé s'appelle CIL (common intermediate language). Microsoft appelle son "implémentation" MSIL. Je n'ai aucune idée de la différence entre les 2. Cette précision est lisible dans le fichier de jargon sur Shared Source Common Language Infrastructure, implémentation de référence de dotNet.

Une petite note pour dire que la notion de compilateur ne s'applique pas seulement aux langages informatiques, mais aussi à n'importe quel langage de description. Par exemple, le fait de transformer du langage postscript (description de page) en commandes pour un affichage sur écran ou sur une imprimante est aussi une phase de compilation qui passe par un compilateur. Je viens de modifier la définition du mot compilateur en ce sens.

Sommaire

[modifier] Manque de clarté

Je ne comprends pas la partie sur le bootstrap. La partie sur cette notion ne décrit pas ce qu'est le bootstrap. De plus, la phrase suivante est incomplète : « Le bootstrap oblige donc les programmeurs de compilateurs à contourner leurs propres bugs qui peuvent donc être extrêment durs à trouver, car remonter plusieurs niveaux de compilation auparavant. »

Vincent 9 mai 2004 à 12:24 (CEST)

-- L'article est bordélique. Il faut trancher dans le vif de toutes façon. Aurélien.

L'article est incompréhensible. c'est parce que je sais ce que c'est que j'arrive à le déchiffrer, mais quand on dit par exemple qu'un language a un niveau d'abstraction plus élevé, excusez moi, mais le novice n'y comprend rien. Il faudrait également préciser dans l'introductiob l'utilité d'un compilateur... Eh oui, le novice se demande bien à quoi ça peut servir de transmettre d'un programme à un autre... Il faut expliquer tout ça, on oublie trop souvent que l'article est destiné à celui qui cherche la connaissance, pas à celui qui la possède... Saccagator


[modifier] Compilateur de compilateur

J'ai ajouté compilateur de compilateur dans la section Compilateurs particuliers mais je pense qu'il sera nécessaire de faire un article dédié au compilateur de compilateur. Y-a-til des personnes interessées ? Boly 5 jan 2005 à 23:27 (CET)

[modifier] Propriété d'amorçage des compilateurs

Est-ce qu'on pourrait trouver dans la littérature une définition et une théorie de la propriété d'amorçage des compilateurs. Je n'arrive pas à trouver s'il s'agit de structures de données ou de structures de contrôle et en quelle proportion il en faut pour rendre un compilateur amorçable: compilable par lui-même. Gilles DRIDI Mél. : gdridi@club-internet.fr

[modifier] L'article est incompréhensible

L'article est incompréhensible. c'est parce que je sais ce que c'est que j'arrive à le déchiffrer, mais quand on dit par exemple qu'un language a un niveau d'abstraction plus élevé, excusez moi, mais le novice n'y comprend rien. Il faudrait également préciser dans l'introductiob l'utilité d'un compilateur... Eh oui, le novice se demande bien à quoi ça peut servir de transmettre d'un programme à un autre... Il faut expliquer tout ça, on oublie trop souvent que l'article est destiné à celui qui cherche la connaissance, pas à celui qui la possède... Saccagator

This figure at commons (in spanish) based in the english article one is available for translations through the source openoffice.org file linked at its Common "Image:CompilationScheme-Spanish.png". You can easily translate it to your language. gengiskanhg from Spanish and english wikipedias. --132.248.36.43 27 septembre 2005 à 16:32 (CEST)

[modifier] Article à revoir

Bonjour,

Comme nombre de personnes, je trouve cet article très mal organisé et globalement d'un niveau très moyen. Je propose qu'un bandeau soit ajouté pour positionner l'article comme une ébauche.

[modifier] Langage d'assemblage, langage machine, code objet, édition de lien

Désolé, mais je trouve tout cela peu clair.

Par exemple il est dit en introduction :

- "En pratique, un compilateur sert le plus souvent à traduire un code source écrit dans un langage de programmation en un autre langage, habituellement un langage d'assemblage ou ...."


Puis dans "Structure d'un compilateur" :

- "la transformation du code source en code intermédiaire"


Le code intermédiaire peut être du langage d'assemblage ?


Puis :

- "l'allocation de registres et la traduction du code intermédiaire en code objet"

Donc l'objectif est de faire du langage objet et non du langage d'assemblage ?


Puis :

- "et enfin l'édition des liens"

Pour moi, ça ne fait pas parti du compilateur. Si le but d'un compilateur est de traduire en langage d'assemblage comme le dit l'introduction, alors on ne peut pas faire l'édition des liens. L'édition des liens n'est possible que depuis le code objet et non depuis le langage assembleur.


  • Dans "Compilateur croisé".


- "Un compilateur croisé (en anglais cross compiler) est un programme capable de traduire un code source en code objet"


Un compilateur croisé ne fait pas de langage assembleur mais il est dit dans l'introduction d'un compilateur peut faire du langage assembleur.



  • Dans "Autres compilateurs"


- "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, par exemple DVI, HTML, PostScript..."


Alors qu'il est dit de multiple fois qu'un compilateur fait du code objet (code machine) ici ce n'est plus du code objet (ni d'ailleurs du langage d'assemblage).


En introduction pour le code source il est dit "langage de programmation" et dans ce paragraphe le code source n'est pas un "langage de programmation" (mais de formatage de texte). L'exemple de LaTex me semble un convertisseur de format et non un compilateur. Es-ce un abus de langage de la part de LaTeX ? En tout cas, l'exemple avec LaTeX ajoute beaucoup de confusion.


Il me semble qu'un compilateur c'est avant tout un programme qui transforme un langage de programme qui ne peut pas être exécuté (car inutilisable par un microprocesseur) vers du code objet (qui peut être exécuté par un microprocesseur). Dans le cas de code objet qui est du code octet, on peut considérer que le microprocesseur est "virtuel" ou simulé.

Le code objet peut parfois ne pas être directement exploitable car des adresses ne sont pas définies. C'est le rôle de l'éditeur de lien que de fournir ces informations. Pour des raisons pratiques, de confort pour le développeur, l'éditeur de lien peut être appelé par le compilateur. Mais l'éditeur de lien est un programme séparé qui peut être utilisé sans le compilateur. Et réciproquement, un compilateur n'a pas besoin d'éditeur de lien.

Je ne pense pas que l'édition de lien fait parti de la compilation car il ne produit pas de code objet. Il peut assembler des codes objet et définir des adresses afin de créer un exécutable ou une librairie (exploitable par le système d'exploitation) mais il ne crée pas de code objet contrairement à un compilateur, il ne connait pas le code objet (code machine) contrairement à un compilateur, il ignore tout du code source contrairement à un compilateur (il marche quelque soit le langage du code source). Pour moi ceci met l'éditeur de lien hors de la définition de compilateur.

Wikipedia HTML 2008 in other languages

100 000 +

Česká (Czech)  •  English  •  Deutsch (German)  •  日本語 (Japanese)  •  Français (French)  •  Polski (Polish)  •  Suomi (Finnish)  •  Svenska (Swedish)  •  Nederlands (Dutch)  •  Español (Spanish)  •  Italiano (Italian)  •  Norsk (Norwegian Bokmål)  •  Português (Portuguese)  •  Română (Romanian)  •  Русский (Russian)  •  Türkçe (Turkish)  •  Українська (Ukrainian)  •  中文 (Chinese)

10 000 +

العربية (Arabic)  •  Български (Bulgarian)  •  Bosanski (Bosnian)  •  Català (Catalan)  •  Cymraeg (Welsh)  •  Dansk (Danish)  •  Ελληνικά (Greek)  •  Esperanto  •  Eesti (Estonian)  •  Euskara (Basque)  •  Galego (Galician)  •  עברית (Hebrew)  •  हिन्दी (Hindi)  •  Hrvatski (Croatian)  •  Magyar (Hungarian)  •  Ido  •  Bahasa Indonesia (Indonesian)  •  Íslenska (Icelandic)  •  Basa Jawa (Javanese)  •  한국어 (Korean)  •  Latina (Latin)  •  Lëtzebuergesch (Luxembourgish)  •  Lietuvių (Lithuanian)  •  Latviešu (Latvian)  •  Bahasa Melayu (Malay)  •  Plattdüütsch (Low Saxon)  •  Norsk (Norwegian Nynorsk)  •  فارسی (Persian)  •  Sicilianu (Sicilian)  •  Slovenčina (Slovak)  •  Slovenščina (Slovenian)  •  Српски (Serbian)  •  Basa Sunda (Sundanese)  •  தமிழ் (Tamil)  •  ไทย (Thai)  •  Tiếng Việt (Vietnamese)

1 000 +

Afrikaans  •  Asturianu (Asturian)  •  Беларуская (Belarusian)  •  Kaszëbsczi (Kashubian)  •  Frysk (Western Frisian)  •  Gaeilge (Irish)  •  Interlingua  •  Kurdî (Kurdish)  •  Kernewek (Cornish)  •  Māori  •  Bân-lâm-gú (Southern Min)  •  Occitan  •  संस्कृत (Sanskrit)  •  Scots  •  Tatarça (Tatar)  •  اردو (Urdu) Walon (Walloon)  •  יידיש (Yiddish)  •  古文/文言文 (Classical Chinese)

100 +

Nehiyaw (Cree)  •  словѣньскъ (Old Church Slavonic)  •  gutisk (Gothic)  •  ລາວ (Laos)