From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: Andrew Cagney Cc: GDB Discussion Subject: Re: GDB 5.1/mi status and question on table output Date: Mon, 14 May 2001 12:00:00 -0000 Message-id: <3B002B28.23F0009B@cygnus.com> References: <3B0010FC.3060908@cygnus.com> X-SW-Source: 2001-05/msg00253.html 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