[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: yy_scan_string
From: |
Luca |
Subject: |
Re: yy_scan_string |
Date: |
Wed, 14 Oct 2009 20:38:52 +0200 |
User-agent: |
Thunderbird 2.0.0.23 (Windows/20090812) |
never2di ha scritto:
I'm a newbie to Bison + Flex. and I'm having trouble in getting
yy_scan_string to work. I have tried the following
YY_BUFFER_STATE my_string_buffer = yy_scan_string(my_string);
yyparse();
yy_delete_buffer(my_string_buffer );
the parser errors out with a syntax error at the first token. I have
verified that the grammar and the content of 'my_string' works using
yyrestart(yyin) and also with yy_create_buffer() through a file.
Is there something special state that I have to set flex in before I call
yyparse()?
if not what is that I'm doing wrong and what needs to be done?
bison (GNU Bison) 2.4
Thanks :handshake:
The problem concerns Flex and not Bison.
I anyway think you're right, you have to call yy_switch_to_buffer;
the following code should be right:
YY_BUFFER_STATE b=yy_scan_string(my_string);
yy_switch_to_buffer(b); //buffer change
yyparse();
yylex_destroy(); //to avoid leakage
You can read how "Multiple Input Buffers" works in flex help:
http://flex.sourceforge.net/manual/Multiple-Input-Buffers.html#Multiple-Input-Buffers
Luca