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


On Tue, Aug 24, 2004 at 12:15:24AM -0400, Michael Chastain wrote:
> 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.

Yes, this is the error I saw. I am glad to see that it's reproducable.

> 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.

Yes, I would very much appreciate this. However, how does this work with
backwards compatibility?

I don't think I would have a problem if GDB changed the grammar as long
as somehow a revision of some sort was put into GDB. So that my front
end could determine what parser to use for this version of GDB.

Thanks,
Bob Rossi


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