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

Autres éditeurs Discussion :

grammaire yacc langage C


Sujet :

Autres éditeurs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut grammaire yacc langage C
    Bonjour,

    je cherche simplement des grammaires (de préférence la plus belle ou la plus simple qui existe) du langage C (pas C++)

    si vous avez des liens où on peut en trouver, merci de les mettre !

    le mien: aller sur le site de gcc, dans downloads aller sur leur ftp, puis dans old-release prendre la version 2.X il y a un fichier .y avec toute la grammaire (plus du code)

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    mwé.. mais yacc (comme son nom l'indique Yet Another Compiler Compiler) est pas forcément un très bon choix...

    Je ne sais pas ce que tu veux faire, mais je peux te dire par expérience (ayant travaillé et étant (partiellement) responsable de la maintenance d'un gros prog. opérationnel en C comprenant pour la partie C , du lex et du yacc, depuis 15 ans, que c'est la m..de à maintenir (sans parler de former les suivants)...

    Et de plus, sous Linux il y a de gros problèmes de compatibilité entre les versions...

    Mais bon, comme on ne sait ps ce que tu veux faire, c'était juste un avis

  3. #3
    Membre très actif

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

    Informations professionnelles :
    Activité : Étudiant

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

    c'est un avis, mais pas une proposition d'alternative (merci de me dire quelle est ton alternative ça m'intéresse!)

  4. #4
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    pour proposer une alternative ... nous aurions besoin de plus de détails sur ton projet

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    bah tout dépend, mais faire un parser en C c'est pas compliqué...
    Et nettement plus compréhensible.


    (comme exemple, je dirais que dans ce soft, il y avait en plus environ 5000 lignes de Prolog, remplacées par 800 de C, et le "coeur" du raisonnement tenait dans une boucle à 6 niveaux d'imbrications. Une seule routine....et 8000 fois plus rapide....).
    (Et pour lex/yacc, il y a environ 1500 lignes d'une truc qui devrait prendre environ max. 300 en C, un gros swithc case...)

    Mais comme on sait pas ce que tu veux faire..

  6. #6
    Membre très actif

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

    Informations professionnelles :
    Activité : Étudiant

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


    je n'ai pas l'impression que vous ayiez saisi le sujet du post:
    les compilateurs C

    mon projet c'est de voir un peu les grammaires qui sont utilisées dans les compilateurs,
    et de faire de la génération de code asm AT&T mais avec des types et des structures cette fois (j'en ai fait sans types pour le moment, que des int).

    la génération de code serait bien sûr faite après l'analyse syntaxique

    sinon: faire un parser autrement qu'avec un outil de type yacc je vois vraiment pas comment tu peux faire pour faire du code clair

    un "script" yacc ça me parait un peu plus facile à lire que le code d'un automate écrit en C...

  7. #7
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    T'es pas oblige de faire un automate. Recherche descente recursive...

    yacc fonctionne assez bien pour des grammaires qui ont ete concues pour etre utilisees avec yacc. Ce n'est pas le cas de la grammaire C, et donc analyser du C avec yacc, c'est penible.

Discussions similaires

  1. Grammaire du langage de script de QLIKVIEW
    Par yimson dans le forum QlikView
    Réponses: 1
    Dernier message: 03/09/2010, 16h53
  2. Grammaire du langage Python
    Par rambc dans le forum Général Python
    Réponses: 2
    Dernier message: 11/01/2010, 10h28
  3. Réponses: 4
    Dernier message: 16/11/2009, 16h07
  4. Grammaire de langages
    Par jalam dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 09/01/2007, 16h30
  5. grammaire yacc lex simili C
    Par BigBarbare dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 16/05/2005, 21h40

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