Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3317 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [lex/yacc] yyval non déclaré ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[lex/yacc] yyval non déclaré ?

n°925373
nodus
Posté le 16-12-2004 à 20:46:03  profilanswer
 

Je suis en train de faire une petit calculatrice à l'aide le lex et yacc malheuresement je me retrouve avec une petite erreur bête mais méchante. Il semblerait que yyval ne soit pas déclaré ce qui m'étonne beaucoup :sweat:  
 
l'erreur:
 
$ gcc -o calc lex.yy.c -ll
calc.l: In function `yylex':
calc.l:9: erreur: « yyval » non déclaré (première utilisation dans cette fonction)
calc.l:9: erreur: (Chaque identificateur non déclaré est rapporté une seule fois
calc.l:9: erreur: pour chaque fonction dans laquelle il apparaît.)
 
le programme yacc:

Code :
  1. %{
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. %}
  5. %token NOMBRE %left '+' %left '*'
  6. %%
  7. X: S '\n' X {printf("%d\n",$1);}
  8. | S
  9. S: S '+' S {$$ = $1 + $3;}
  10. | S '*' S {$$ = $1 * $3;}
  11. | NOMBRE {$$ = $1;}
  12. %%


 
et le programme lex:

Code :
  1. %{
  2. #include "y.tab.h"
  3. %}
  4. NUM [0-9]+
  5. %%
  6. NUM { yyval = atoi(yytext); return NOMBRE;}
  7. .|\n { return yytext[0];}
  8. %%


---------------
Et toi, tu crois que les ours polaires vont chier dans les bois ?
mood
Publicité
Posté le 16-12-2004 à 20:46:03  profilanswer
 

n°925900
chrisbk
-
Posté le 17-12-2004 à 12:16:24  profilanswer
 

jla trouve bizarement fagotté, ta grammaire ?
sinon faut pas definir yyval dans ton .lex, genre extern YYLVAL yyval ?

n°925954
pascal_
Posté le 17-12-2004 à 13:20:13  profilanswer
 

Heu, c'est pas yylval le nom de la variable?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [lex/yacc] yyval non déclaré ?

 

Sujets relatifs
Parser (Yapp/Yacc): substitution de variables ?[Lex Yacc] problème de Main()
Pb : tableau[ ][ ] de taille non déclaré dans une fonction[yacc] comment passer en parametre un fichier à traiter à yyparse ?
[yacc] Probleme yacc[YACC] Problème de syntaxe
[divers] Probleme compil Lex/yaccConnaissez vous un moyen de remplacer lex/yacc
[Oracle-PL/SQL] erreur sur un DECLARE ?!???besoin d'aide yacc/bison
Plus de sujets relatifs à : [lex/yacc] yyval non déclaré ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR