This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: Resend: [RFC] p-exp.y enhancements.
- From: Michael Snyder <msnyder at redhat dot com>
- To: Pierre Muller <muller at cerbere dot u-strasbg dot fr>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Thu, 02 May 2002 10:53:26 -0700
- Subject: Re: Resend: [RFC] p-exp.y enhancements.
- Organization: Red Hat, Inc.
- References: <4.2.0.58.20020502144659.02489e38@ics.u-strasbg.fr>
Pierre Muller wrote:
>
> (Second posting with the patch attached,
> this way you should have less problems to
> apply the patch).
>
> This patch has several benefits:
>
> 1) it adds support for S[exp] if S is a pascal string.
> I must admit that this only works for Free Pascal Compiler
> for now, because GPC uses BITSTRING type
> for the array containg the chars which confuses GDB.
> I informed the GPC developper team, but their answer
> seems to be that they didn't really directly change any code
> regarding debug information output for pascal...
What will happen if a GPC user tries to do that?
> 2) it adds support for case insensitive searches of record
> (pascal struct) fields.
This seems like a good thing...
> 3) It prepares to a more simple RFC
> about the enhancement to the completer for
> structure field that I sent some time ago. See
> http://sources.redhat.com/ml/gdb-patches/2002-04/msg00774.html
This seems like a good thing too, but is pretty
unrelated to the two above. Would you mind breaking
this patch down into functional units? Since I'm a
little rusty in both Pascal and Yacc, that will make
it considerably easier to review.
> The way current_type is treated in my patch is
> not completely correct, in the sense that
> current_type is often non NULL when it should be NULL
> (like for instance after an operator like '+' or '*',
> but this has no influence on its functionallity, so I did not
> add all the rules that would reset current_type
> (which would have made the patch much bigger).
>
> If I get no observations about this patch, I will commit it
> in the next days.
>
> 2002-05-02 Pierre Muller <muller@ics.u-strasbg.fr>
>
> * p-exp.y (current_type): New static variable.
> Carries the type of the expression at the position that is parsed.
> (push_current_type, pop_current_type): Two new functions. Used
> to store/restore current_type in expression on specific tokens.
> (search_filed): New static variable. Set to one after parsing a point as
> at that point only a FIELDNAME token should be searched.
> (FIELDNAME): New token. After a point only a token belonging to
> current_type type definition is allowed.
> (all over token rules): reset and change current_type according
> to rules.
> (exp '[' rule): insert implicit array index field if exp is a pascal string type.
>
> ------------------------------------------------------------------------
>
> p-exp.difName: p-exp.dif
> Type: Plain Text (text/plain)
>
> ------------------------------------------------------------------------
>
> Pierre Muller
> Institut Charles Sadron
> 6,rue Boussingault
> F 67083 STRASBOURG CEDEX (France)
> mailto:muller@ics.u-strasbg.fr
> Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99