Jump to content
  • Advertisement
Sign in to follow this  
danne89

Flex problems

This topic is 4629 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi! I thought it would be nice to use GNU flex to read in my files. I was wrong. I'm expering some strange error. The program just crash. Here is the lex file:

%%

[0-9]..."-"[0-9]."-"[0-9].          SetCurrentTo(yytext);
"-"[0-9]+ 	SetCurrentTo(yytext);
[0-9]+          SetCurrentTo(yytext);
[0-9]+"."[0-9]+  SetCurrentTo(yytext);
"False"|"True" SetCurrentTo(yytext);

,  	 MoveAlong(); 
'\n'	 NextEntry();  
[ \t]+	 ;
.	PrintError(yytext); 
%%
int yywrap()
{
	printf("In yywrap");
	return 1;
}

And yylex() is called like:

....
	yyin = f;

	yylex();
	printf("Back!\n");a

	fclose(f);

	ParseFileName(mf, path);

	return 0;
}

My output is:
Comma
yytext = 1
Comma
yytext = True
Comma
yytext = 2005-12-22
Comma
yytext = 90
Comma
yytext = 60006232
Comma
yytext = 10000020
Comma
yytext = 30001669
Comma
yytext = 5
Comma

In yywrap
... and then it crash

Anyone got any thoughts about this? // Daniel Lännström

Share this post


Link to post
Share on other sites
Advertisement
I can't see any obvious errors there (except that printf("In yywrap"); is probably missing an "\n"). Maybe there is a memory access error somewhere. Where does the crash occur according to the debugger? Run your program through a memory checker like valgrind too if you have one.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!