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]
Other format: [Raw text]

Re: GDB/MI Output Syntax


Bob Rossi <bob@brasko.net> wrote:

  ~"GNU gdb 6.1-debian\n"
  ~"Copyright 2004 Free Software Foundation, Inc.\n"
  ~"GDB is free software, covered by the GNU General Public License, and you are\n"
  ~"welcome to change it and/or distribute copies of it under certain conditions.\n"
  ~"Type \"show copying\" to see the conditions.\n"
  ~"There is absolutely no warranty for GDB.  Type \"show warranty\" for details.\n"
  ~"This GDB was configured as \"i386-linux\"."
  ~"\n"
  (gdb) 

This looks almost okay to me, it's just got a few differences with
newline characters versus the grammar

  output -> (out-of-band-record)* [result-record] "gdb" NL
  (out-of-band-record)* -> stream_record stream_record stream_record stream_record stream_record stream_record stream_record stream_record
  stream_record -> console_stream_output
  console_stream_output -> "~" C_STRING
  [result-record] ->

It is eight stream-records in a row, where each stream-record is a
console-stream-output.  The gotcha is that the grammar as written does
not allow for a NL after a console-stream-output or a stream-record.

bob> Once my parser is finalized, I propose we validate the output of GDB
bob> against it somehow in the testsuite.

That would be awesome.  But how can we hook up a bison grammar to TCL ...
something for me to sleep on.

Although that's not my area of test suite; that is Andrew and Elena's
area.

If we put a machine-compilable grammer into the gdb doco, then front end
authors could file PR's whenever gdb produces output that doesn't meet
the grammar.  Conversely, if the gdb team updates the MI, we would be
forced to update the grammar to keep our test suite passing, and the
updated grammar would tip off the front end writers that new output
forms are coming at them.

bob> Updating the grammar to match the output of GDB is propably OK, since
bob> most parser's somehow don't care that it doesn't match the grammar as it
bob> is. Why is that? (this is one point where XML shines)

My guess -- only a guess -- is that the front ends are just good enough
at parsing to get the job done.

You're a front end writer and I'm not.  You tell me!


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