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

Générateurs de compilateur Discussion :

parseur ll en c


Sujet :

Générateurs de compilateur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut parseur ll en c
    Bonjour,
    Je poste aujourd'hui pour vous demander de la doc concrète sur les parseur ll. Je veux dire qui soit orienté pratique plus que théorie.
    merci et bonne journée

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    5 160
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 5 160
    Points : 17 008
    Points
    17 008
    Par défaut
    Recherche plutot du coté algorithme.

    Tu en trouveras surement en cherchant de la doc sur la compilation.
    notamment flex/yacc
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    OK je vais voir.

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    8 029
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 8 029
    Points : 19 325
    Points
    19 325
    Par défaut
    salut la page http://en.wikipedia.org/wiki/LL_parser c'est déjà un début et il y a un exemple de code source mais en C++

    Si tu ne veux pas utiliser la STL et les conteneurs il faudra mettre en place une gestion de listes chaînées en pur C.
    Développer l'équivalent de map<> ou stack<> en pur C n'est pas facile

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    Je te remercie pour ce lien. est-ce que tu peux me donner un petit exemple ?

  6. #6
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    8 029
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 8 029
    Points : 19 325
    Points
    19 325
    Par défaut
    salut Rémi ok mais quel exemple ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    Si tu ne veux pas utiliser la STL et les conteneurs il faudra mettre en place une gestion de listes chaînées en pur C.
    Développer l'équivalent de map<> ou stack<> en pur C n'est pas facile
    c'est de ça que je te demandais si tu avais un exemple.

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    5 160
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 5 160
    Points : 17 008
    Points
    17 008
    Par défaut
    Et bien, il s'agit d'aller lire la documentation détaillée de map, et de faire le même genre de chose en C.
    Regarde aussi du coté de red-black-tree.

    Pour une stack, c'est jamais qu'une liste chainée manipulée par un seul bout (arbitrairement, le premier élément, c'est plus simple).
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    Et c'est quoi cette map ?

  10. #10
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    5 160
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 5 160
    Points : 17 008
    Points
    17 008
    Par défaut
    au sens C++, un conteneur associatif.

    En fait, c'est l'équivalent d'un annuaire. Il relit des clés à des valeurs.
    Toute la magie vient de ce qu'il est du coup possible de chercher une valeur par sa clé.

    Un exemple totalement inutilisable comme tel, mais qui existe vraiment, c'est la mémoire elle-même. Elle relie des adresses à des blocs mémoire contenant des valeurs.
    Un pointeur n'est autre que la clé permettant d'accéder à une donnée.

    Un moyen "simple" de faire une map, c'est de faire une liste chainée de structure {K cle; V valeur;}.
    En pratique, on préfère un arbre équilibré et ordonné sur les clés, pour avoir un temps de recherche meilleur qu'avec une liste, et gagner au passage un tri.

    Une autre solution, c'est de faire une hash-map, c'est à dire table de hachage, qui utilise une fonction "magique" pour calculer un entier à partir de la clé.
    Ca permet d'être plus rapide encore, mais ca pose des tas de problèmes techniques.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    OK merci beaucoup pour ta réponse.

Discussions similaires

  1. Selon vous, le meilleur parseur XML ?
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 22
    Dernier message: 05/06/2012, 12h39
  2. [PL/SQL] Parseur de requête
    Par SheikYerbouti dans le forum SQL
    Réponses: 19
    Dernier message: 20/04/2004, 16h04
  3. parseur de fichier
    Par ronan99999 dans le forum C
    Réponses: 10
    Dernier message: 10/02/2004, 12h46
  4. [debutant???] Parseur & portabilté
    Par miloux32 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 24/07/2003, 13h20
  5. Réponses: 3
    Dernier message: 04/09/2002, 09h42

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