views:

255

answers:

1

Can I use the code generated by flex/bison|lex/yacc in a multithreaded environment ? I'm afraid there are a lot of global variables. How can it be fixed ?

+2  A: 

With flex you can use %option reentrant and with bison %pure-parser to generate re-entrant code that does not have global data. You may still need some sort of synchronization to prevent multiple threads using the same data blocks at the same time.

laalto