comp.lang.ada
 help / color / mirror / Atom feed
From: "Adam Beneschan" <adam@irvine.com>
Subject: Re: Rename Problem
Date: 6 Mar 2007 15:21:44 -0800
Date: 2007-03-06T15:21:44-08:00	[thread overview]
Message-ID: <1173223304.236348.131180@64g2000cwx.googlegroups.com> (raw)
In-Reply-To: <1173217813.885292.192700@q40g2000cwq.googlegroups.com>

On Mar 6, 1:50 pm, "Ant" <yarze...@hotmail.com> wrote:

>
> > If you want to rename a component of msg, msg (1) say,
> > then the renamed thing is an object. In this case it is
> > of type signals_record. Not easy to tell without seeing
> > some more source, preferably compilable.
>
> >  ... : signals_record RENAMES msg (1);
>
> This test procedure should compile. Sorry for the laziness.
>
> PROCEDURE test IS
>
>    -------------------------------------------
>    GENERIC -- receive message --
>
>       id : integer;
>
>       TYPE message_type IS PRIVATE;
>
>    PACKAGE transmit_message IS
>
>       PROCEDURE write;
>
>    END transmit_message;
>    -------------------------------------------
>
> -----------------------------------------------------------------------------
>    PACKAGE BODY transmit_message IS
>
>       PROCEDURE write IS
>       BEGIN
>          null;
>       END write;
>
>    END transmit_message;
>
> -----------------------------------------------------------------------------
>
>    -------------------------------------------
>    TYPE signals_record IS
>       RECORD
>          data1 : boolean;
>          data2 : boolean;
>       END RECORD;
>
>    FOR signals_record USE
>       RECORD
>          data1 AT 0 RANGE 0 .. 15;
>          data2 AT 0 RANGE 16 .. 31;
>       END RECORD;
>    -------------------------------------------
>
>    SUBTYPE msg_count IS integer RANGE 1 .. 4;
>    TYPE message_array IS ARRAY (msg_count) OF signals_record;
>    msg : message_array;
>
>    id : integer := 1;
>
>    PACKAGE m1 IS NEW transmit_message (id, signals_record);
>
>    msg (1) : signals RENAMES m1.signals_record;
>
> END test;

That RENAMES is wrong on so many levels, I don't know where to begin.
Transmit_Message doesn't declare a "signals_record" so
m1.signals_record doesn't exist; "signals_record" is a type, anyway,
and you can't rename a type; the identifier "signals" isn't declared
and it has no meaning; and you can't use RENAMES to declare an
identifier you've already declared (i.e. "msg"), and you can't use
RENAMES to declare an array component anyway.

I can't tell what you're trying to accomplish.  What were you trying
to do with this RENAMES declaration?  If you can describe that, we can
help you write it correctly.  If all you're doing is to try to give
another name to msg(1), so you can call it something else, such as
msg_1, then Georg already gave you the answer:

   msg_1 : signals_record renames msg(1);

                               -- Adam








  reply	other threads:[~2007-03-06 23:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-06 16:17 Rename Problem Ant
2007-03-06 16:53 ` Georg Bauhaus
2007-03-06 21:50   ` Ant
2007-03-06 23:21     ` Adam Beneschan [this message]
2007-03-07  1:11     ` Jeffrey R. Carter
2007-03-07  3:47 ` Steve
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox