This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: MI non-stop mode spec
On Wednesday 19 March 2008 14:09:38 Bob Rossi wrote:
> On Wed, Mar 19, 2008 at 12:16:01AM +0300, Vladimir Prus wrote:
> >
> > Making good used of GDB in async mode, and especially in async non-stop
> > mode demands some changes in MI -- both general clarifications, and actual
> > work to allow most MI commands while the target is running and define
> > their behaviour.
>
> Do you mind posting an updated grammar for the GDB/MI changes that you
> are making? or at least just a diff of it?
The following changes will happen:
output ==>
( out-of-band-record )* [ result-record ] "(gdb)" nl
becomes:
output ==>
( out-of-band-record | result-record | "(gdb)" ) nl
then
async-class ==>
"stopped" | others (where others will be added depending on the needs--this is still in development).
becomes:
async-class ==>
"stopped" | "running" | "thread-created" | others (where others will be added depending on the needs--this is still in development).
> I currently maintain a gdb/mi bison parser that i have not put into
> production use yet. However, the time for this is coming, I will
> probably start working on this again after all of these changes get
> through.
Except for the 'output' change -- which essentially codifies that
MI output is a sequence of almost independent lines, I don't think
there are further changes to the grammar planned except for adding
new async-classes.
> At one point, I would parse all of the output of gdb/mi that came
> from running 'make check' in the gdb.mi testsuite. If you would like,
> I could do that again after your patch, and let you know where it
> breaks.
That would be good, thanks.
- Volodya