This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
[mi] MI grammar question
- From: Bob Rossi <bob at brasko dot net>
- To: GDB <gdb at sources dot redhat dot com>
- Date: Tue, 8 Mar 2005 19:01:52 -0500
- Subject: [mi] MI grammar question
Hi,
I'm still working on refining the MI grammar in the documentation. I
think I found a case that is only possible in the grammar but not
possible to have the MI actually output.
output ==> ( out-of-band-record )* [ result-record ] "(gdb)" nl
result-record ==> [ token ] "^" result-class ( "," result )* nl
out-of-band-record ==> async-record | stream-record
async-record ==> exec-async-output | status-async-output | notify-async-output
exec-async-output ==> [ token ] "*" async-output
status-async-output ==> [ token ] "+" async-output
notify-async-output ==> [ token ] "=" async-output
async-output ==> async-class ( "," result )* nl
The above shows that there can be 0 or more out-of-band-record's. And
each out-of-band-record can have an async-record.
Is it really possible to get more than one async-record in a single MI
output command?
If not, I can re-arrange the grammar to have the async-record go along
with the result-record. Also, I can probably merge the optional "token"
so that it will only appear in one place.
If my hunch above is correct, I'll post another modified grammar that
will be much more simple.
Thanks,
Bob Rossi