This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: GDB 5.1/mi status and question on table output


Andrew Cagney wrote:
> 
> FYI,
> 
> The GDB/MI interface is now sitting just before the point of no return.
>   I've completed all the changes that are possible without actually
> affecting the output.
> 
> The task that is left is to review each of the unofficial MI commands
> and update them so that they output combinations of tuples and lists
> instead of just tuples.
> 
> The first an obvious question is, what should a table look like when
> output by MI.  The doco refelcts the current output, my first guess is
> to change MI so that it outputs:
> 
>         {
>           hdr={heading, heading, ...},
>           body=[{r1c1, r1c2, ...}, {r2c1, r2c2, ...}, ...]
>         }
> 
> Comments?
> 
> There are a fixed number of columns to the table and each column has a
> name.  Hence a tuple for each row and the heading.
> The number of rows, however, varies, but each one is identical, hence a
> list of rows.
>

I like the format but I have a couple of concerns:

Currently there are "headings" and "field names" and they may not be the same.  I think this was done so that a GUI could be implemented fast and cope with tables that have different columns depending on certain circumstances (the breakpoint table is such a beast).  I am not saying that this is the right thing, just the way it is now.  The UI code using the MI currently has the option of ignoring or using the headings.

But we may change that and say that we only supply the field names and values.  The problem is that we now have two ways of outputting fields: when inside a table they go without the name; when outside they go with the name.  

On one hand, a more compact output without the repetition of names is appealing.  On the other hand, if you have an option to get a table of breakpoints or information about a specific breakpoint, now you'll get the information about one item (breakpoint) in two different ways, depending if it came on a table (w/o field names) or as a unit (with field names).



P.S.: I am really affraid of last minute changes in the output syntax.


-- 
Fernando Nasser
Red Hat - Toronto                       E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]