Re: Flex++ and Bison++ (instead of Flex and Bison)

"skeeter da beeter bunny" <>
9 Mar 2002 03:01:16 -0500

          From comp.compilers

Related articles
Flex++ and Bison++ (instead of Flex and Bison) (Edwin) (2002-02-28)
Re: Flex++ and Bison++ (instead of Flex and Bison) (John W. Millaway) (2002-03-09)
Re: Flex++ and Bison++ (instead of Flex and Bison) (skeeter da beeter bunny) (2002-03-09)
| List of all articles for this month |

From: "skeeter da beeter bunny" <>
Newsgroups: comp.compilers
Date: 9 Mar 2002 03:01:16 -0500
Organization: Prodigy Internet
References: 02-02-070
Keywords: parse, C++
Posted-Date: 09 Mar 2002 03:01:16 EST

This is what Ive done,
have multiple starting states, ( at least Ive done this with regular LEX and

Have a function named "parse_init" that would do a "YYSTATE <start state>",
depending on the functionality it would do "YYSTATE START_1, YYSTATE
START_2", etc.

Then that start state in your lexer would return a bogus token like
"START_1, START_2, START_3, etc." that would force the parser into the
correct branch of the parse tree.

then the parser would say:
%start Branch1 Branch2 Branch2

Branch1: START_1 ( rest of parser branches, etc ).
Branch2: START_2, etc.
Branch3: START_3, etc.

Worked for me, I've done 3 in the same lex/yacc parser,
Good Luck!

"Edwin" <> wrote in message
> Hi ,I'am trying to use Flex++ and Bison++ instead of Flex and Bison
> I would like to
> use multiple lexer and parser in one project.
> I work with Visual C++ 6.0. I search a good documentation with working
> exemples.
> Can someone help me ?
> Thanks.
> --
> Edwin Razafi.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.