Dans l ́ensemble, tu n ́as pas tort. Mais tu as dû loupé (je pense) ces deux petits passages (oui, les mots ont de l ́importance ;-) ) :
De manière généralement admise […] la compilation consiste à traduire un programme […] en instructions interprétables par le CPU
Traduire d ́un langage à un autre […] on parle de trans-compilation.
… dans lesquels je précisait quand même le cadre ;-)
prendre un programme écrit en Go, et émettre du code C
compiler (par exemple) d'un langage assembleur x86 vers un langage assembleur Itanium
Ce n ́est pas techniquement impossible (et quand même sacrément tordu dans le deuxième cas ;-) ), mais ce n'est pas ce que de manière générale on appelle de la compilation. Dans ces cas, on parle plutôt de trans-compilation (j ́ai même vu une fois tradu-compilation).
Attention, aussi : l ́assembleur est un langage ! Ce n ́est pas la même chose que le code binaire qui s ́exécute sur le CPU.
En détails, ça donne :
[…]
Globalement, oui. À ceci près que l'IR de haut niveau peut déjà subir des transformation avant de passer dans le middle-end :
Ou Go, plus récemment ; et des tas d'autres : Eiffel, Pascal… Et j'ai aussi écrit un trans-compilateur pour traduire des automates à états vers du C.
Mais il se fait tard, et l ́on pourrait dire que, la fatigue aidant, nous pinaillions sur les mots… Moins de 24h à attendre pour reprendre la discussion ! ;-p
[^] # Re: Quelle est la difficulté de la compilation croisée ?
Posté par ymorin . En réponse au journal Chaine(s) de compilation ARM. Évalué à 3. Dernière modification le 12 avril 2012 à 01:13.
Dans l ́ensemble, tu n ́as pas tort. Mais tu as dû loupé (je pense) ces deux petits passages (oui, les mots ont de l ́importance ;-) ) :
… dans lesquels je précisait quand même le cadre ;-)
Ce n ́est pas techniquement impossible (et quand même sacrément tordu dans le deuxième cas ;-) ), mais ce n'est pas ce que de manière générale on appelle de la compilation. Dans ces cas, on parle plutôt de trans-compilation (j ́ai même vu une fois tradu-compilation).
Attention, aussi : l ́assembleur est un langage ! Ce n ́est pas la même chose que le code binaire qui s ́exécute sur le CPU.
Globalement, oui. À ceci près que l'IR de haut niveau peut déjà subir des transformation avant de passer dans le
middle-end:[SRC] -> FE -> [HLIR] -> OPTIM -> [HLIR] -> ME/OPTIM -> [LLIR] -> BE -> [ASM] -> ASM/OPTIM -> [OBJ]
Données au format [X] :
Actions [X] :
Ou Go, plus récemment ; et des tas d'autres : Eiffel, Pascal… Et j'ai aussi écrit un trans-compilateur pour traduire des automates à états vers du C.
Mais il se fait tard, et l ́on pourrait dire que, la fatigue aidant, nous pinaillions sur les mots… Moins de 24h à attendre pour reprendre la discussion ! ;-p
Hop,
Moi.