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]

GDB/MI Output Syntax


Hi,

I am working with the MI grammer. Thanks to Michael Chastain's lexer
hack I now have a working LL(1) grammer. However, I am a little
disappointed in the fact that I need to do this hack. Shouldn't the MI
grammar be unambiguous?

I understand that everyone in this community hates XML, so I know that
is a closed door, however, is it possible to change the MI grammar so
that it is not ambigious? 

Anyways, now that the parser is written, I fired up GDB and sent 
   ~"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) 

to my parser. The problem is, it was a parse error. This simple output
from GDB does not adher to the GDB/MI grammar! I have the very simple
patch to the grammar that makes this example work, however, I am scared
that the more I parse, the less will work. Does anyone know first hand
if this is true? If it is true, I propose that we at least make GDB
adher to the grammer.

Once my parser is finalized, I propose we validate the output of GDB
against it somehow in the testsuite. Maybe by making a gdbmi-validator
program that simply invokes GDB, passes all input to GDB and parse's all
output, along with passing output back to caller. This would make a
trasparent validator of everything GDB/MI says. What does anyone think?

As far as the error's are concerned, can the grammar be updated?
Updating the grammar to match the output of GDB is propably OK, since
most parser's somehow don't care that it doesn't match the grammar as it
is. Why is that? (this is one point where XML shines)

Thanks,
Bob Rossi


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