Related articles |
---|
Event friendly parser generator gorelick@asu.edu (1998-07-27) |
Re: Event friendly parser generator chrisd@etcons.com (Chris Dodd) (1998-07-27) |
Re: Event friendly parser generator qjackson@wave.home.com (Quinn Tyler Jackson) (1998-07-27) |
From: | Chris Dodd <chrisd@etcons.com> |
Newsgroups: | comp.compilers |
Date: | 27 Jul 1998 23:16:46 -0400 |
Organization: | ETC |
References: | 98-07-195 |
Keywords: | parse, realtime |
gorelick@asu.edu wrote:
> 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
README file:
: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...
Chris Dodd
chrisd@reservoir.com
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.