Re: complete GDB MI specification

Eli Zaretskii
2004-12-07T19:42:42Z

> Date: Tue, 7 Dec 2004 21:44:36 +0300
> From: Konstantin Karganov <kostik@ispras.ru>
> CC: gdb@sources.redhat.com
>
> "Note that the current ``grammar'' in the MI documentation, at least as
> far as I'm concerned, is meant to be an informal introduction of the
> MI syntax, not a rigurous grammar description.

This is known, of course. Volunteers are welcome to rewrite the MI
documentation more rigorously. I was happy enough to get my hands on
_any_ documentation, and needed to do non-trivial amounts of work to
bring it to the state where it could be integrated into gdb.texinfo.

> And this is the problem! MI is supposed to be a program-to-program
> interface and thus needs a complete formal description (at least, to be
> sure that all possible output is handled correctly).

I agree, but no one volunteered yet to produce such a formal
description. (And I'm not sure such a description should be in the
manual, anyway.)

> Looked through several (a lot, actually!) discussions and didn't found
> what I need.

Sorry, I thought a grammar was posted, but perhaps I was mistaken.

> > Please report all such unclear cases, and I will try to fix them.
> Look at the structure of MI description: there are the command syntax
> with explanation and the example of the output. Just an example
> instead of complete output specification. Yes, it fits the general case
> of " var=value (,var=value)* " syntax but the actual semantics and
> possible value pairs are not specified. That is for all commands.

If an example is clear and tells enough to explain what to expect,
then it's fine by me. If you find incorrect or misleading examples,
please point them out, and please tell what is misleading about them.
I appreciate your comments, but to fix the manual, I need them to be
more specific.

> Anyway, it looks weird if no rigorous specification of MI output
> exist. IMHO it means (if it is) that no one uses MI in real systems
> (except the tests and demo purposes)...

Rest assured that it _is_ used, in real-life systems.