Machine interface

jacques
2003-08-19T06:45:42Z

Hello, I've been doing some MI interface testing, and am in need of some
grammar clarifications. After running until a breakpoint, I do the
following:

(gdb)
-data-evaluate-expression b
^done,value="{<_Vector_base<int,std::allocator<int> >> =
{<_Vector_alloc_base<int,std::allocator<int>,true>> = {_M_start =
0x804aa50, _M_finish = 0x804aa58, _M_end_of_storage = 0x804aa58}, <No
data fields>}, <No data fields>}"

Which is of the format:
output => result-record => "^" result-class ( "," result )
result-class => "done"
result => variable "=" value
value => tuple
tuple => "{" result "}"
...

Now all is well and fine, however the meat of the output, being the
variable and value nonterminal symbols are unparseable! Indeed, they are
composed of:
variable => string
value => const => c-string (since I can't fanthom not running into a
const value after a while)

In this case, <_Vector_base<....>> is unparseable, and I wouldn't be
able to know how to handle all cases. Furthermore, I don't see the
distinction between c-string and string. I see how the production would
depend on the programming language being being debugged, but it seems
quite important to me.
--Jacques