Hi Martin, If I understand your question correctly, here is a way to have multiple scanners and parsers in the same program.
In Flex, you can use the --prefix = NEW_PREFIX. This will change the default "yy" prefix to NEW_PREFIX, So yylex, yytext, yyout, etc., *including yywrap()*, will change to NEW_PREFIXlex, NEW_PREFIXtext, etc. It will also change the default output file name from lex.yy.c to lex.NEW_PREFIX.c. Multiple flex programs can be linked together into same program. In Bison, -p NEW_PREFIX (or --name-NEW_PREFIX) option can be used for the same purpose. This will rename most of the yyvariables and yyfunctions to NEW_PREFIX variables and NEW_PREFIXfunctions. yyparse will also be renamed to NEW_PREFIXparse. tejasSK On Sun, Feb 6, 2011 at 8:39 AM, Martin Alexander Neumann < hotpotatorout...@googlemail.com> wrote: > Hi, > > some time ago I designed a flex + bison system for an embedded system > for which I needed selective compilation -- different systems needed > different language subsets of my flex and bison files. I threw together > a solution using the C preprocessor to selective compile in only the > relevant stuff. It is working pretty well but how about a solution > natively integrated into flex and bison? > > Cheers, Martin > > > _______________________________________________ > help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison > _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison