This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFC] GDB interpreters
- From: Keith Seitz <keiths at redhat dot com>
- To: Andrew Cagney <ac131313 at cygnus dot com>
- Cc: <gdb-patches at sources dot redhat dot com>
- Date: Fri, 24 May 2002 15:38:14 -0700 (PDT)
- Subject: Re: [RFC] GDB interpreters
On Fri, 24 May 2002, Andrew Cagney wrote:
> Do you have a [working] draft? It is hard to see how it hangs together
> with out some additional context. Consider doing what I did and drop
> the work in progress onto a branch.
Yeah, I've got a massive set of changes that a compilation of this from
Apple and some of my own changes. (Most of my own changes are just
cosmetic: move things to separate files and whatnot. Apple crammed
everything in mi-main.c)
> The things I'm wondering about are:
>
> - how the ``struct gdb_interpreter'' gets called (can it be opaque?).
> There is a comment talking about how it is tied into the event loop.
These are completely opaque. Although Apple has a public definition of it
in interpreter.h, I was going to move it into interpreter.c. The only way
the code accessing this structure is via accessor functions
(gdb_interpreter_display_prompt, gdb_interpreter_set_quiet, etc).
> - what goes with hooks (I get the feeling that it is caught in the
> middle between ..._hook and gdb-event*)
Apple is using only hooks. It was my intent to swap it all to events, so
that all of the events/hooks are located in one place.
> Perhaphs consider a name other than interpreter.[hc]. Something to
> reflect that this isn't ``the'' interpreter but rather a part of the
> interpreters. terps? :-^ interps?
Ok, I think that's valid: interps.h and interps.c (unless I hear
otherwise).
> > static struct gdb_interpreter *interp_list = NULL;
> > static struct gdb_interpreter *current = NULL;
>
> Suggest ``current_interpreter''.
Very good.
> > static int initialized = 0;
>
> Same.
Ok.
>
> > /* gdb_new_interpreter - This allocates space for a new interpreter,
> > * fills the fields from the inputs, and returns a pointer to the
> > * interpreter. */
>
> I think it is ment to be:
>
> /* .....
> ..... */
>
> i.e. no `*' on each line.
Yes. Hmm. Does gdb_indent.sh catch this? I though I ran it on the files
before submitting them. Oh well, no matter. I'll double check for this.
Thanks for the comments.
Keith