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 :

aide lex et yacc/flex et bison


Sujet :

Autres éditeurs

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Points : 24
    Points
    24
    Par défaut aide lex et yacc/flex et bison
    bonjour je dois réaliser dans le cadre de mes études un petit compilateur à l'aide de lex et yacc. j'aurai aimé savoir si lex et yacc peuvent me donner directement un exécutable comme pourrait me donner gcc? ou obtiendrais je un fichier C?

    merci de vos réponses

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 84
    Points : 61
    Points
    61
    Par défaut
    Bonsoir,

    je pense que tu utilises Linux, bon avec Lex et Yacc on peut pas avoir un executable directement, on a un fichier .C pour les 2 fichiers, au'on doit compiler pour obtenir un fichier executable. n'oublies pas le lien entre le fichier lex et yacc.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    bonjour je me suis mal exprimé je pense que ma véritable question était : est ce possible qu'une fois le compilateur créer il puisse créer directement l'exécutable à partir d'un code à compiler ou c'est seulement le compilateur qui l'analyse puis l'exécute??
    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 84
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par wasdaka Voir le message
    bonjour je me suis mal exprimé je pense que ma véritable question était : est ce possible qu'une fois le compilateur créer il puisse créer directement l'exécutable à partir d'un code à compiler ou c'est seulement le compilateur qui l'analyse puis l'exécute??
    merci
    es ce que tu peux nous expliquer ce que tu as à faire exactement, parce que creer/creer, es ce que tu essayes de faire un compilateur ,avec génération du code ?

    essayes de données plus de détail sur ce que tu fais

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    oui alors je dois réaliser un compilateur simplifié de pascal.une fois le compilateur créer avec lex et yacc quel sont les différentes options possibles?

    le compilateur que j'ai créé peut il compiler un programme en pascal et me rendre un exécutable?
    ou peut il simplement vérifier la syntaxe de mon programme en pascal et l'exécuter derriere??

  6. #6
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    le compilateur que j'ai créé peut il compiler un programme en pascal et me rendre un exécutable?
    Ça serait pas un peu trop facile ?
    ou peut il simplement vérifier la syntaxe de mon programme en pascal et l'exécuter derriere??
    Il peut simplement vérifier la syntaxe, rien de plus, et ça ne suffit même pas à prouver que le code est exécutable, il peut encore être mal typé, contenir des identificateurs jamais définis...

    Lex/Yacc ce n'est pas un méta-compilateur, ça n'est qu'une méta-syntaxe.

    Concrètement Yacc ne fait que l'analyse syntaxique, donc il ne fait pas le typage ni la construction de l'arbre de syntaxe abstraite et encore moins l'interprétation ou la génération du code.
    Et encore, l'analyse syntaxique il la fait parce que tu lui donnes une grammaire appropriée, donc en fait il ne fait pratiquement rien, c'est toi qui fait tout.
    (et c'est normal puisque j'imagine que c'est précisément le but de l'exercice)
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    merci pour ces réponses

  8. #8
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Bonsoir,

    En effet, ton exécutable, ton compilateur pascal, ne fera que vérifier l'intégrité de ton fichier selon les règles que tu auras établies.

    Avec Lex, tu obtiendras un analyseur lexical.

    Avec Yacc, tu obtiendras un analyseur syntaxique.

    L'objectif du projet que tu as à réaliser est de vérifier si oui ou non, ton fichier *.pas pourra être compilé.

    Petite citation :

    L'objectif sera de construire avec Lex/Yacc un interpréteur d'une sous-partie du langage Pascal :

    * évaluation d'expression arithmétiques : 5*9+3.2
    * affichage à l'écran : writeln('resultat=',res)
    * déclaration/affectation de variables : VAR x : integer (...) x := 8*3+12
    * évaluation d'expressions booléennes : (i > 5*2) or (est_valide)
    * conditionnelles : if(condition) then instr1 else instr2
    Je dis pourra être compilé et non pas
    Il peut simplement vérifier la syntaxe, rien de plus, et ça ne suffit même pas à prouver que le code est exécutable
    car je dispose d'une information que SpiceGuid ne connaissait pas.

    (...)Donc pas de types construits ni de tableaux, pas de boucles, pas de fonctions ni de procédures. Et histoire de ne pas se retrouver au dernier moment avec une grammaire super mais rien qui marche, l'idée ici sera d'avancer incrémentalement, i.e. implémenter les expressions arithmétiques puis tester, et seulement une fois que ça marche passer à la suite, etc. L'exemple 3 ci-dessus et les questions qui vont avec (voir l'interpréteur d'expressions arithmétiques) pourront servir de base pour commencer. Il faudra enrichir la grammaire pas-à-pas.
    Tu n'auras que de simples opérations arithmétiques, une structure conditionnelle en IF, l'utilisation des opérateurs unaires.

    Avec ceci, je pense que tu en auras déjà assez pour une semaine.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

Discussions similaires

  1. [Flex/Bison] Aide pour l'utilisation des outils Bison et Flex
    Par Legnou78 dans le forum Générateurs de compilateur
    Réponses: 0
    Dernier message: 25/06/2012, 16h54
  2. Installation de lex et yacc sur ubuntu
    Par maggie78 dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 06/10/2011, 10h30
  3. Lex et yacc et la simuation sur linux
    Par rare1 dans le forum Linux
    Réponses: 7
    Dernier message: 21/07/2006, 09h05
  4. Flex et Bison avec Visual
    Par kiroukou dans le forum MFC
    Réponses: 16
    Dernier message: 16/05/2006, 14h47
  5. Commande pour analyser un fichier avec lex et yacc
    Par gRaNdLeMuRieN dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 13/09/2005, 19h12

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