[divers] Probleme compil Lex/yacc

Probleme compil Lex/yacc [divers] - Divers - Programmation

Marsh Posté le 28-05-2004 à 12:02:16    

Je precise, je debute en lex
 
Mon code Lex :

Citation :


%{
#include "global.h"
#include <stdlib.h>
%}
chiffre10 [0-9]
chiffre16 [0-9A-Fa-f]
exposant [eE] [+-]?{entier}+
lettre [A-Za-z]
entier {chiffre10}+
reel {entier}{"."{entier}}?{exposant}?
%%
"="     return EGUAL;
"<>"    return DIFF;
"<"     return INF;
">"     return SUP;
"<="    return INFEGUAL;
">="    return SUPEGUAL;
"+"     return PLUS;
"-"     return MOINS;
"/"     return DIV;
"*"     return MULT;
"("     return PAREN_DROITE;
" )"     return PAREN_GAUCHE;
":="    return AFFECT;
"OU"    return OU;
"ET"    return ET;
"&"     return DEB_CODEC;
"REGLE" return REGLE;
"APPEL" return APPEL;
"ANIM"  return ANIM;
"AFFIC" return AFFIC;
"MESSAG" return MESSAGE;
"PREPTA" return PREPTA;
"EMITA"  return EMITA;
"OPERA"  return OPERA;
"RESULT" return RESULT;
"TEMPO"  return TEMPO;
"POSTBIT" return POSTBIT;
"POSTVAL" return POSTVAL;
"POSCAR"  return POSCAR;
"AFFTS"   return AFFTS;
"**"    return JECPAS;
"SI"    return SI;
"ALORS" return ALORS;
"SINON" return SINON;
"FINSI" return FINSI;
"TANTQUE" return TANTQUE;
"FAIRE" return FAIRE;
"FINFAIRE" return FINFAIRE;
reel { yylval=atof(yytext); return NOMBRE;}
\n {nextline();}
\t {;}
"#" { nextline(); }
. {yyerror("prob point" );}
<<EOF>> {return FIN;}
%%


 
ensuite je fais cette commande :
lex toto.lex
puis
gcc -c yy.lex.c
et la compilation me donne ceci :

Citation :


regates-MAN#gcc -c lex.yy.c
gascon.lex: Dans la fonction « yylex »:
gascon.lex:17: « EGUAL » non déclaré (première utilisation dans cette fonction)
gascon.lex:17: (Chaque identificateur non déclaré est rapporté une seule fois
gascon.lex:17: pour chaque fonction dans laquelle il apparaît.)
gascon.lex:18: « DIFF » non déclaré (première utilisation dans cette fonction)
gascon.lex:19: « INF » non déclaré (première utilisation dans cette fonction)
gascon.lex:20: « SUP » non déclaré (première utilisation dans cette fonction)
gascon.lex:21: « INFEGUAL » non déclaré (première utilisation dans cette fonction)
gascon.lex:22: « SUPEGUAL » non déclaré (première utilisation dans cette fonction)
gascon.lex:23: « PLUS » non déclaré (première utilisation dans cette fonction)
gascon.lex:24: « MOINS » non déclaré (première utilisation dans cette fonction)
gascon.lex:25: « DIV » non déclaré (première utilisation dans cette fonction)
gascon.lex:26: « MULT » non déclaré (première utilisation dans cette fonction)


etc...
 
je vois pas du tout le probleme.
Pouvez vous m aider ?
merci


Message édité par sbucci2 le 28-05-2004 à 14:07:50
Reply

Marsh Posté le 28-05-2004 à 12:02:16   

Reply

Marsh Posté le 28-05-2004 à 14:07:57    

up

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed