help-bison
[Top][All Lists]
Advanced

[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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]