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]

[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


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