Is there working example of flex + bison (bison is necessary) with input from string, not file?
I have tried to use YY_BUFFER_STATE ... functions instead of yyin and got error "flex scanner push-back overflow". Flex changes InputString[1] to 0. Several other answers on SO are of little help - actual code will be much more useful.
You can also use yy_scan_buffer(char*,size_t)
The way to scan memory region is described in the Flex manual.
Flex modifies the buffer given by
yy_scan_buffer
. If you need to avoid to be modified,yy_scan_bytes
oryy_scan_string
will be appropriate.Whether scanning a file or memory region is independent of the parser (bison).
If your lexer fails, I'd recommend checking whether it fails too even when reading from a file.
For your information, the following flex code prints
ab
andcd
in my environment.