IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Fonctionnement et création d'un compilateur C


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2005
    Messages : 10
    Par défaut Fonctionnement et création d'un compilateur C
    Salut,
    J'aimerai savoir de manière détaillée et exhaustive comment fonctionne un compilateur du langage C. De quoi est-il constitué et comment il fonctionne (les différentes étapes, etc.) et aussi une comparaison de fonctionnement de certains compilateurs courants (Code-Blocks, Dev-C++, GCC, etc). Et au cas où l'on voudrait en créer un, comment s'y prendre, et quels sont les outils à utiliser. j'ai vraiment grand besoin d'aide et de manière urgente.

    NB : J'apprend déjà la programmation en C depuis 3 mois.

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Un bouquin que je recommande chaudement :
    http://www.cs.princeton.edu/software/lcc/

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2005
    Messages : 10
    Par défaut
    Merci pour le tuyau sur le livre, mais je cherche une documentation gratuite (s'il est en français ce serait encore mieux). C'est pour un travail (exposé) que je dois présenter pour le cours des langages procéduraux et compilation. Help, please!

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    On ne peut avoir le beurre et l'argent du beurre...

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Par défaut
    De la documentation en français, détaillée, gratuite, c'est plutôt difficile à trouver... Je te recommande le livre "Dragon Book", qui est la référence en matière de compilation, qui est très bien fait, et disponible en français. Tu le trouvera dans n'importe quelle bibliothèque scientifique.

    Sinon, si tu veux absolument trouver sur internet, tu peut chercher les mots-clefs suivant :
    - grammaire contextuelle
    - analyse lexicale
    - analyse syntaxique
    - analyse sémantique
    - automates à piles
    - arbre syntaxique (décoré)
    - code 3 adresses

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2005
    Messages : 10
    Par défaut
    Citation Envoyé par dancingmad Voir le message
    De la documentation en français, détaillée, gratuite, c'est plutôt difficile à trouver... Je te recommande le livre "Dragon Book", qui est la référence en matière de compilation, qui est très bien fait, et disponible en français. Tu le trouvera dans n'importe quelle bibliothèque scientifique.

    Sinon, si tu veux absolument trouver sur internet, tu peut chercher les mots-clefs suivant :
    - grammaire contextuelle
    - analyse lexicale
    - analyse syntaxique
    - analyse sémantique
    - automates à piles
    - arbre syntaxique (décoré)
    - code 3 adresses
    Merci, comme ça je vais raffiner mes recherches sur Google en tenant compte du fait que c'est de la compilation du langage C dont j'ai besoin. Toutefois si tu as d'autres tuyaux n'hésite pas. Je voudrais aussi savoir le lien qu'il y a entre C et Lex et Yacc. Merci d'avance.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Par défaut
    Lex et Yacc ne sont pas des outils spécifiques pour faire des compilateurs C, dans le sens où ils permettent d'écrire des compilateurs pour n'importe quel langage. Cependant, étant écrits en C, ils sont très bien adaptés pour cela (il est d'une manière générale plus facile d'écrire en X un compilateur pour le X...)

    Lex est un outil qui permet d'effectuer l'analyse lexicale d'un langage, c'est-à-dire le découpage des lettres en unités lexicales (ou token). C'est la phase où l'on passe de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    distance=vitesse*temps;
    à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [distance][=][vitesse][*][temps][;]
    (les crochets représentent le découpage en tokens). On passe de simples lettres à des mots.

    Yacc quant à lui est un outil qui s'occupe de l'analyse syntaxique du langage, c'est-à-dire comprendre comment les tokens sont ordonnés entre eux. On passe de mots à des phrases.

Discussions similaires

  1. [Flex/Bison] Création d'un compilateur
    Par mm2008 dans le forum Générateurs de compilateur
    Réponses: 0
    Dernier message: 22/12/2012, 21h43
  2. [Flex/Bison] Création d'un compilateur
    Par lion de feu dans le forum Générateurs de compilateur
    Réponses: 0
    Dernier message: 26/05/2012, 06h36
  3. Création d'un compilateur en C
    Par neveah dans le forum Générateurs de compilateur
    Réponses: 3
    Dernier message: 02/01/2012, 20h13
  4. licence pour création d'un compilateur
    Par cdm1024 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 06/05/2009, 01h46
  5. Compilateur asm, comment ça fonctionne ?
    Par AsmCode dans le forum Assembleur
    Réponses: 21
    Dernier message: 30/07/2005, 00h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo