comp.lang.ada
 help / color / mirror / Atom feed
From: "Ant" <yarzepol@hotmail.com>
Subject: Re: Rename Problem
Date: 6 Mar 2007 13:50:13 -0800
Date: 2007-03-06T13:50:13-08:00	[thread overview]
Message-ID: <1173217813.885292.192700@q40g2000cwq.googlegroups.com> (raw)
In-Reply-To: <1173200030.11841.82.camel@localhost>

On Mar 6, 9:53 am, Georg Bauhaus <bauh...@futureapps.de> wrote:
> On Tue, 2007-03-06 at 08:17 -0800, Ant wrote:
> > I am trying to rename an array component, but no luck. Is this
> > possible or am I just doing something wrong?
>
> > TYPE message_array IS ARRAY (index) OF signals_record;
> > msg : message_array;
>
> > PACKAGE m1 IS NEW transmit_message (id, type);
>
>                                           ^^^^
> "type" is an Ada keyword. What is transmit_message?
>
> > msg (1) : signals RENAMES m1.signals_record;
>
>                             ^^^^^^^^^^^^^^^^^
> This is probably a type, if signals_record from above is a type.
>
> 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;




  reply	other threads:[~2007-03-06 21:50 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 [this message]
2007-03-06 23:21     ` Adam Beneschan
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