• [^] # Re: question de vocabulaire

    Posté par . En réponse à la dépêche Cairo 1.2 met le feu. Évalué à 3.

    Moi j'en voit bien une, mais il faut savoir comment est faite la saucisse.

    Je m'y essaie quand meme, mais sans la saucisse ;) :
    Prenons GCC qui est lui même composé de front ends et de back ends:
    - en entrée, il accepte des programmes ecrits dans plusieurs langages de programmation (C, C++, Java, Ada, ...). Il va traduire la sémantique de ces programmes dans un format intermédiaire (commun a tous les langages). En fait, la partie centrale est commune (c'est le format intermediaire) mais la partie située en entrée (le front end) change selon le langage de programmation. Ici, le front end est est l'analyseur lexical et syntaxique.
    - en sortie, il permet de compiler dans plusieurs langages: A partir du format intermediaire (commun a tous les langages), il peut générer de l'assembleur pour processeur x86, UltraSparc, PowerPC, et même du bytecode Java. A partir de la partie centrale commune, la partie réalisant la sortie (le back end) change. Ici, le back end est le generateur de code.

    On voit donc bien que l'on a:
    - une partie en entrée qui peut changer (celle qui "accepte" un langage de programmation en entree),
    - une partie centrale toujours la meme (celle qui code la semantique d'un programme),
    - une partie en sortie qui peut changer (celle qui genere l'assembleur).

    J'espere que je n'ai pas embrouille les idees!