[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: push parser
From: |
Bob Rossi |
Subject: |
Re: push parser |
Date: |
Wed, 27 Dec 2006 10:09:45 -0500 |
User-agent: |
Mutt/1.5.12-2006-07-14 |
On Wed, Dec 27, 2006 at 09:58:51AM -0500, Joel E. Denny wrote:
> On Wed, 27 Dec 2006, Bob Rossi wrote:
>
> > On Tue, Dec 26, 2006 at 07:09:20PM -0500, Joel E. Denny wrote:
> > > On Tue, 26 Dec 2006, Bob Rossi wrote:
> > >
> > > > What's left to do here? Do you have a list of things?
> > >
> > > 1. For yacc.c, you can invoke yyparse multiple times. For push.c's push
> > > mode, I haven't thought this through. I guess yypush_parse should set
> > > yyps->yynew = 1 whenever it returns with a parse error or success.
> > >
> > > 2. The push parser needs to be documented in the manual.
> > >
> > > 3. We should add some test cases that exercise yypush_parse better than
> > > just a while loop that behaves like yyparse.
> >
> > I'd be happy to help or do any of these tasks, which would you prefer I
> > start with?
>
> At the moment, I'd like to settle the %push-pull-parser issue, which my
> recent patch addresses. If you have no preference in that regard, that's
> fine, buy maybe Paul has an opinion. In any case, I shouldn't make that
> decision by myself.
OK. What exactly is the issue? The names of the options?
> In the meantime, I think we should stay away from #1 just to avoid
> conflicts. However, feel free to work on #2, but understand that the
> %push-pull-parser stuff is still evolving. For #3, do you have any use
> cases from your own work that could be converted to test cases?
Well, I have a grammar that implements the gdb/mi protocol. I then use
flex and bison to parse it. I currently don't do anything interactive
though, if that's what you are looking for. In fact, I don't plan on
ever doing anything interactive for this project. The reason I needed the
push parser is because gdb/mi is a line oriented protocol
(It emits one line at a time). If you've used gdb enough, you'll notice
that sometimes when a program crashes by recursion or stack curroption,
if you do a backtrace in gdb it can print frames for a very long time.
Without the push parser, I have to wait (5-10 minutes) for the entire
response to come back before passing to bison. This gives the user a
bad experience. With the push parser I can alert bison after each frame
is printed. There are other benefits.
Would the grammar be useful? or are you thinking of a contrived example
that is interactive?
Thanks,
Bob Rossi
- Re: push parser, (continued)
- Re: push parser, Joel E. Denny, 2006/12/20
- Re: push parser, Joel E. Denny, 2006/12/20
- Re: push parser, Bob Rossi, 2006/12/23
- Re: push parser, Joel E. Denny, 2006/12/26
- Re: push parser, Bob Rossi, 2006/12/26
- Re: push parser, Joel E. Denny, 2006/12/26
- Re: push parser, Bob Rossi, 2006/12/26
- Re: push parser, Joel E. Denny, 2006/12/26
- Re: push parser, Bob Rossi, 2006/12/27
- Re: push parser, Joel E. Denny, 2006/12/27
- Re: push parser,
Bob Rossi <=
- Re: push parser, Joel E. Denny, 2006/12/27
- Re: push parser, Bob Rossi, 2006/12/31
- Re: push parser, Joel E. Denny, 2006/12/31
- Re: push parser, Bob Rossi, 2006/12/31
- Re: push parser, Joel E. Denny, 2006/12/25
- Re: push parser, Bob Rossi, 2006/12/25
- Re: push parser, Joel E. Denny, 2006/12/26
- Re: push parser, Joel E. Denny, 2006/12/31
- Re: push parser, Bob Rossi, 2006/12/31
- Re: push parser, Joel E. Denny, 2006/12/31