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 :

[Yacc] Recherche d'un cours


Sujet :

Générateurs de compilateur

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut [Yacc] Recherche d'un cours
    salut tout le monde
    je ne sais pas si c'est le forum où je doit poser mon probleme ou non !!!

    alors je suis entraine de preparer un cour sur "yacc" , j'ai chercher sur le net mais ... je n'ai pas trouvé un cour complet bien organisé !

    merçi pour qui m'aide à trouver ce que je cherche ...

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Le mieux, c'est sûrement de se servir du manuel, vu que les personnes qui suivront ton cours y seront forcément confronté .

    Et puis, si tu donnes le cours, tu n'as pas besoin de doc supplémentaire, ou alors tu n'as pas les compétences pour le cours . (ce que je n'ose même pas croire).

    Pour ton cours surtout avec un outil technique comme celui là, le mieux c'est de faire une série d'exemples commentés. (avec un niveau progressif).

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message

    Et puis, si tu donnes le cours, tu n'as pas besoin de doc supplémentaire, ou alors tu n'as pas les compétences pour le cours . (ce que je n'ose même pas croire).
    ben je ne suis pas une enseignante , mais je suis une etudiante !!! et je prepare un exposé sur le yacc pas exactement un cour ...

    mais je veux trouver un cour pour que je suive les meme étapes...

    j'espere que j'ai bien eclairé mon problème

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait, tout dépend de ce que tu veux montrer. Dans un exposé, on ne peut pas forcément tout montrer (sinon l'exposé dure deux jours )

    Mais je reste convaincu qu'un exposé qui repose sur un(des) exemple(s) commenté(s) peut être intéressant. Si tu as une machine fonctionnelle, tu peux faire tourner les exemples.

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut
    merçi pour la réponse mais pour je fait un exemple et je le commenté il faut que je comprends moi meme le fonctionnement de yacc et aussi ses mots clés!!!

    et pour cela je veux un cour complet sur yacc pour que je comprends bien le yacc et puis je fait mon exposé !!!

    JE VEUX UNE DOCUMENTATION

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut
    j'ai chercher dans google mais je vois que je ne sais pas comment chercher

    merçi pour ton aide , j'ai trouvé des doc interessants dan l'url que tu m'as donné

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut
    salut
    j'ai trouvé finallement pas mal de doc sur yacc mais j'ai quelques questions que j'espere trouver la réponse ici...

    alors j'ai compris que le yacc c un outil qui génere un analyseur syntaxique à partir d'une grammaire d'un langage .

    la structure du fichier yacc est

    daclaration
    %%
    règle de gramlmaire
    %%
    code additionnel

    le code additionnel est comme suit

    main()
    {
    yyparse();
    }

    mes questions

    quand j'ecris un fichier comme le précedent quesqu'est ce passe aprés et à quoi ça sert "yyparse()"
    en plus j'ai trouvé que yyparse() retoure 0 s'il n y a pas d'erreurs et 1 s'il y a une erreur alors ma question quelle erreur qui va se produit est ce que cette erreur est dans le fichier yacc c 'est à dire dans la structure ou les mots clés ou une erreur lors l'analyse syntaxique d'un programme donné.

    une autre question: c'est quoi les actions sémantiques j'ai pa trouvé grande chose pour l'explication de ce point!!! et est ce qu'elle vont etre copié dans le code de l'analyseure généré ou quoi???

    ben j'ai parlé trop mais juste pour vous expliqué ce que je n'ai pas compris

    merçi d'avance

  9. #9
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    quand j'ecris un fichier comme le précedent quesqu'est ce passe aprés et à quoi ça sert "yyparse()"
    En fait, yacc (ou bison) te produisent un analyseur syntaxique, cet analyseur se présente sous la forme d'une fonction yyparse(), appeler yyparse demande alors d'effectuer une analyse syntaxique selon les règles que tu lui as donné. Par défaut, la lecture des tokens se fait via l'entrée standard, tu peux éventuellement utiliser la fonction yyrestart (de mémoire ça doit être ça), pour changer l'entrée (et donc utiliser un fichier si tu le souhaites).

    yyparse() retoure 0 s'il n y a pas d'erreurs et 1 s'il y a une erreur alors ma question quelle erreur qui va se produit est ce que cette erreur est dans le fichier yacc c 'est à dire dans la structure ou les mots clés ou une erreur lors l'analyse syntaxique d'un programme donné.
    J'ai pas tout compris de ce que tu as écrit (il faudrait faire des efforts ), mais grosso modo, si je comprend bien, tu veux savoir ce qui se passe lors d'une erreur et quand est-ce qu'une erreur arrive.

    Une erreur survient au moment où, tu as un token mais pas de règle associé (par exemple , si tu as une règle qui fait l'addition de deux entiers et que tu lui passes un entier et un réel), toutes les erreurs trouvées par yacc/bison, sont des erreurs syntaxique, les erreurs lexicales ne sont pas à la charge de l'analyseur syntaxique (pour le lexical il y a (f)lex), yacc récupère des tokens et fait son travail.

    Ensuite, lorsqu'il y a une erreur, l'analyse s'arrête et tu peux éventuellement avoir un diagnostic via la fonction yyerror. D'ailleurs à ce sujet, pour la gestion d'erreur sous yacc/bison je te recommande ceci :

    http://www.ibm.com/developerworks/li...BisonErrorHand

  10. #10
    Membre averti

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Points : 422
    Points
    422
    Par défaut
    salut

    j'ai été en quelque sorte dans le même cas que toi puisque j'ai appris les bases de yacc plus ou moins seul

    les notions à voir (si tu ne les as pas déja vues):
    $$
    $1 $2 ...
    $i
    YYABORT;
    YYACCEPT;
    #define YYDEBUG et int yydebug = 1;
    yyerror
    %start pointdedepart

    la règle pour réduire en pointdedepart est-elle récursive ?
    dans ce cas il te faudra un YYACCEPT pour arréter le "parser"...

    si yyerror est appelée, yyparse renvoie la valeur renvoyée par yyerror, sinon si tout c'est bien passé yyparse renvoie 0

    #define YYSTYPE montype
    typedef struct {
    // mon type
    } montype;

    %union {
    mon union qui sera le YYSTYPE ...
    }
    il faut alors préciser pour chaque règle quel est sont champ correspondant dans l'union...


    pose des questions si tu as des gros problèmes !



    a+

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut
    salut tout le monde

    merçi "PRomu@ld" pour ta répense , j'ai compris bien ton explication

    merçi "acx01b" , je vais voir ta source et si je trouve des problème je t'annonce


  12. #12
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Salut,

    Heu question ... tu parles de yacc sans parler de lex (ou autre lexer) ? C'est un peu parler de la grammaire d'une langue sans savoir de quelle langue on parle...

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Points : 82
    Points
    82
    Par défaut
    ben j'ai parlé seulement sur yacc sans parler sur lex car moi je travaille sur le yacc , et il y a un autre etudiant qui est chargé de lex ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche d'un cours sql avancé
    Par donny dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/03/2011, 00h10
  2. recherche d'un cours
    Par colocolo dans le forum Autres systèmes
    Réponses: 1
    Dernier message: 05/11/2007, 15h45
  3. recherche du plus cours chemins entre 2 sommets d'1 graphes
    Par must19 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 05/04/2006, 12h57
  4. Recherche d'un cours sur les bdd réparties
    Par abdo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/10/2005, 14h12

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