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 :

GCC bison flex


Sujet :

Autres éditeurs

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut GCC bison flex
    salut !

    j'ai un problem avec la compilation de mon prog

    avec la compilation GCC il me return

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    logL.c:1097: attention : ‘yyunput’ defined but not used
    logL.c:1140: attention : ‘input’ defined but not used
    log.y:12: erreur: expected identifier or(’ before string constant
    log.y: In function ‘main’:
    log.y:81: attention : control reaches end of non-void function
    rachid@Desktop:~/Bureau/flex/projet/tes$
    voila le code de log.l de flex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    %{
    #include <stdio.h>
     
     
    %}
     
     
    %%
     
    (t|f) { yyval = atoi(yytext); return term;}
    [ \t]     /* ignore whitespace */
     
     
    %%
    et le fichier bison log.y
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    %{
       #include <stdio.h>
     
     
       #include <ctype.h>
     
    /*erreure ici !!!*/
     extern "C"
    {
     	int yyparse(void);
     	int yylex(void);  
     	int yywrap()
     	{
     	 	return 1;
            }
     
    }
     
     
    %}
     
    %token term
     
    %left  'or'  
    %left  'and'  
    %right not
     
    %%
     
     
     
    expression
        : expression 'or' expression   { if ( $1 != 0)  $$ = 1;
        				     else if ($3 != 0 ) $$ = 1;
        					  else  $$ = 0 ;
        				     }
        |  expression 'and' expression   { if ( $1 != 0) { if ($3 != 0 ) $$ = 1;}
        					  else  $$ = 0 ;
        				     }
        | 'not' expression %prec not {  if ( $2 == 0) $$ = 1;
        				    else  $$ = 0  ;}
        | '(' expression ')'          { $$ = $2; }
        |  term                     { $$ = $1; } 
        ;
     
    %%
     
     
     
     
    void yyerror(char *s){
       printf("\n%s ", s);}
     
     
     
    int main()
    {
     
             yyparse();
    }

    est-ce-que vous avez une proposition?!

  2. #2
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Donne ta commande de compilation.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Goten Voir le message
    Donne ta commande de compilation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $flex  -o 	logL.c log.l;
    $bison -d -o   	logY.c log.y; 
    $gcc   -Wall	logL.c logY.c -o logique

  4. #4
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Normal t'as pas linker. Rajouter -ll
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Goten Voir le message
    Normal t'as pas linker. Rajouter -ll
    voulez vous dire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $gcc   -Wall	logL.c logY.c -o logique  -ll
    log.y: conflits: 2 décalage/réduction
    log.y:11: erreur: expected identifier or ‘(’ before string constant
    rachid@Desktop:~/Bureau/flex/projet/tes$

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/03/2012, 19h08
  2. erreur programmation bison\flex
    Par lucastof dans le forum Linux
    Réponses: 0
    Dernier message: 26/01/2011, 20h51
  3. Undefined vtable : Bison++ Flex++
    Par ibi0tux dans le forum Générateurs de compilateur
    Réponses: 21
    Dernier message: 29/10/2010, 14h53
  4. tuto pour bison flex ou lex yacc
    Par Patnel dans le forum Générateurs de compilateur
    Réponses: 4
    Dernier message: 20/10/2010, 07h50
  5. Réponses: 1
    Dernier message: 09/12/2006, 10h13

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