complete GDB MI specification

Konstantin Karganov
Wed Dec 8 16:42:00 GMT 2004

Hello Eli,

>(And I'm not sure such a description should be in the manual, anyway.)
As for me, I think it should be in UG since it is a way to use GDB.
Maybe in appendix or some "advanced" chapter.

> Sorry, I thought a grammar was posted, but perhaps I was mistaken.
There was posted a refined grammar transformed to LL(1) kind, but
that's not exactly what is needed...

> If an example is clear and tells enough to explain what to expect,
> then it's fine by me.
It's fine to illustrate the point or get the main idea, but do not
suffice for writing a code that will use it automatically.
The text-based protocol for the debugger that we implemented 2 years
ago had _much_ more rigorous and complete specification.

> If you find incorrect or misleading examples, please point them out,
> and please tell what is misleading about them.
Oh, BTW, I've got one :)
Section 24.9 (GDB/MI Program control), subsection "The -exec-interrupt
command". The specified behavior doesn't reproduce since the
-exec-continue and other stepping commands are not asynchronous
(though the doc states they are).

> But basically, I think that once the Yacc parser is written and
> becomes part of GDB, we should maintain the parser instead of
> documenting the grammar.
Yes, I've also got this idea - it's better not to develop parsers
every time from the scratch, but to have a "standard" parser since it
fits the main goal of the MI interface project. In this case it can be
easily made consistent with current MI version (as supported by the
same team). Anyhow, the detailed semantics description of the parser
output should be available, here I completely disagree with the
position "maintain instead of documenting" (literally, as it was

One more question about this parser as a part of GDB - does it exist
and will be available or it's still a far distant project?

Best regards,

More information about the Gdb mailing list