Le 25 août 09 à 12:19, Rui Maciel a écrit :
Is it possible to set the flex start conditions from within bison?
I've set a couple of lexer start
conditions in the flex file and added yy_push_state() to the bison
file, which already includes a flex-
generated header. Nonetheless, the compiler still complains that the
start condition symbol (named s_element)
is undeclared. As the start condition symbol is described in the
flex file as:
#ifdef YY_HEADER_EXPORT_START_CONDITIONS
#define INITIAL 0
#define s_element 1
#endif
That leads me to believe that some other tweaking is needed to at
least define
YY_HEADER_EXPORT_START_CONDITIONS and therefore declare the start
condition symbol.
So, how do we set flex start conditions from within a bison file?
AFAIK, Flex does not generate a header file with its definitions such
as start conditions, so you probably need to write a small wrapper
around flex that extracts it from the generated scanner *.c file.
Then, from the grammar file, just include that extracted file from
like any other.
_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison