erreur d'erreur prématurée dans le fichier flex
J'ai le code suivant et il donne une erreur" "bonjour.l",ligne 31: prématuré EOF" quand je lance la commande suivante
flex bonjour.l
%{
#include <stdlib.h>
#include "y.tab.h"
%}
%%
("hi"|"oi")"\n" {return HI; }
("tchau"|"bye")"\n" {return BYE;}
. {yyerror(); }
%%
int main(void)
{
yyparse();
return 0;
}
int yywrap(void)
{
return 0;
}
int yyerror(void)
{
printf("Error\n");
exit(1);
}
source d'informationauteur Waseem
Vous devez vous connecter pour publier un commentaire.
Le problème est avec votre
%}
- flex est très sensible sur l'espacement. Supprimer l'espace avant elle, et tout doit être bien.Aussi, si vous ne voulez pas un yywrap fonction, vous pouvez coller
%option noyywrap
dans votre flex fichier.Changer cela:
:
Il fonctionne avec flex 2.5.35 (mingw)