Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Bob Rossi <bob@brasko.net>
To: Fabian Cenedese <Cenedese@indel.ch>
Cc: gdb@sources.redhat.com, cagney@redhat.com, ezannoni@redhat.com,
	fnasser@redhat.com
Subject: Re: MI rules
Date: Wed, 22 Sep 2004 14:43:00 -0000	[thread overview]
Message-ID: <20040922144311.GB26132@white> (raw)
In-Reply-To: <5.2.0.9.1.20040922155506.01d24ab8@NT_SERVER>

On Wed, Sep 22, 2004 at 04:05:33PM +0200, Fabian Cenedese wrote:
> 
> >I currently have a set of rules that parse an MI output command. This
> >includes the flex file, the bison file and an extra source file that
> >populates an in memory data structure representing the MI output
> >command.
> >
> >The rules from the documentation had to change only slightly to conform
> >to what GDB is actually outputting. The problem is, I haven't tested the 
> >parser extensively. The reason for this is because I am waiting to here 
> >from the GDB developers how to interpret the data semantically once it 
> >is acquired. I believe that every MI output command needs to have a
> >header describing what type of MI output command is being transmitted.
> >With this knowledge, the front end would understand exactly what
> >information it needs to grab from the parse tree. Otherwise, the front
> >end gets confusing at best.
> 
> How are the existing frontends doing it then? Do they just wait after
> a sent command until they receive a reply and take it as the one they're
> looking for?

Well part of the problem I see is with asyncrhonous MI output commands.
How is the front end supposed to understand what the data it just
recieved was. It doesn't even know what type of mi output command it is. 
So, after it is parsed and put in a parse tree, I don't see a
way for the front end to say, "Get the data out of this command that I
care about". It first needs to understand what type of mi output command
it just recieved. If it knows that, it can actually walk the parse tree
to get the data it needs.

Otherwise if it doesn't know that, you end up in a situation where you
   1. parse the tree.
   2. walk the tree to guess what kind of command you just received
      ( can only imagine what kind of maintenence nightmare this is )
   3. actually walk the tree to get the data you need, once you know
      what kind of mi output command you have.

This ends up making the parse walk the tree twice. IMO, GDB already
knows what kind of MI output command it is sending, so it should just
tell the front end as part of the mi output command. This would solve
several problems that I am facing.

Do any of the GDB MI maintainers see this as possible? Please look at
my Email http://sources.redhat.com/ml/gdb/2004-09/msg00173.html

Thanks,
Bob Rossi


  reply	other threads:[~2004-09-22 14:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-22 13:40 Fabian Cenedese
2004-09-22 13:48 ` Bob Rossi
2004-09-22 14:10   ` Fabian Cenedese
2004-09-22 14:43     ` Bob Rossi [this message]
2004-09-22 15:01       ` Fabian Cenedese
2004-09-22 14:58     ` Alain Magloire
2004-09-22 16:18       ` Bob Rossi
2004-09-22 16:59         ` Alain Magloire
     [not found] <5733AD9C-0CF7-11D9-8325-000A9569836A@brasko.net>
2004-09-23  0:31 ` Jason Molenda
     [not found] <1095954341.19418.ezmlm@sources.redhat.com>
2004-09-23 18:23 ` Jim Ingham
2004-09-25  1:05   ` Bob Rossi
2004-09-25 19:01     ` Jim Ingham
2004-09-25 20:12       ` Bob Rossi
2004-09-27 17:39         ` Jim Ingham
2004-09-29  3:00           ` Bob Rossi
2004-09-29 16:13             ` Jim Ingham
2004-09-29 17:27               ` Bob Rossi
2004-09-30 13:26             ` Eli Zaretskii
2004-09-30 16:21               ` Bob Rossi
2004-09-30 16:36                 ` Andrew Cagney
2004-09-30 20:42                   ` Bob Rossi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040922144311.GB26132@white \
    --to=bob@brasko.net \
    --cc=Cenedese@indel.ch \
    --cc=cagney@redhat.com \
    --cc=ezannoni@redhat.com \
    --cc=fnasser@redhat.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox