|Event friendly parser generator email@example.com (1998-07-27)|
|Re: Event friendly parser generator firstname.lastname@example.org (Chris Dodd) (1998-07-27)|
|Re: Event friendly parser generator email@example.com (Quinn Tyler Jackson) (1998-07-27)|
|From:||Chris Dodd <firstname.lastname@example.org>|
|Date:||27 Jul 1998 23:16:46 -0400|
> What I'm hoping to find is something that generates a yyparse()
> replacement that will return its state when it runs out of input, so
> the parse can be restarted with the same state when more input (the
> next line) is available.
BTYACC <http://www.siber.com/btyacc> comes with a variant parser
skeleton that does almost does this. Here's an excerpt from the
:Btyacc supports the -S flag to use a different parser skeleton,
:changing the way that the parser is called and used. The skeleton
:`push.skel' is included to produce a `passive' parser that you feed
:tokens to (rather than having the parser call a seperate yylex
:routine). With push.skel, yyparse is defined as follows:
:int yyparse(int token, YYSTYPE yylval)
:You should call yyparse repeatedly with successive tokens of input.
:It returns 0 if more input is needed, 1 for a successful parse, and
:-1 for an unrecoverable parse error.
Unfortunately, that's about all the documentation there is for this
`feature'. Being freeware, you get what you pay for...
Return to the
Search the comp.compilers archives again.