[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reentrant yy_scan_string impossible?
From: |
Bart Kus |
Subject: |
Reentrant yy_scan_string impossible? |
Date: |
Mon, 06 Sep 2010 21:07:43 -0700 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100802 Thunderbird/3.1.2 |
Hello,
Using flex 2.5.35 and bison 2.4.2. Setting up a yy_scan_string() like so:
yyscan_t scanner;
clilex_init(&scanner);
YY_BUFFER_STATE lex_buff = cli_scan_string(cmd, scanner);
if(cliparse(*this))
clierror(*this, cmd);
cli_delete_buffer(lex_buff, scanner);
clilex_destroy(scanner);
Prefix="cli" for both flex and bison. Get a segfault on first operation
tried. When running through gdb, the fault is hit in the flex code, but
it seems like a user issue, or less likely, a bison design issue.
cliparse() calls clilex() with what seems like its own yyscanner
variable. Looking at the call syntax, there's no place in where I tell
cliparse(), "hey, use this yyscanner when talking to clilex". It's
probably just trying to read from yyin, instead of processing my buffer.
How do I tell bison about my custom flex scanner instance?
--Bart
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Reentrant yy_scan_string impossible?,
Bart Kus <=