From: "Samuel A. Mize" <smize@magellan.bgm.link.com>
Subject: Re: ObjectAda vs Gnat -- bugs
Date: 1997/05/15
Date: 1997-05-15T00:00:00+00:00 [thread overview]
Message-ID: <337B4CF4.41C6@magellan.bgm.link.com> (raw)
In-Reply-To: 5lf6ka$nbg@service.polymtl.ca
granger wrote:
>
> Here is a shortened version of a package that I wrote.
>
> It compiles without any error with ObjectAda.
> With gnat3.09, I have the following errors:
>
> rgbcolor.ads:18:41: expect object name in renaming
> rgbcolor.ads:19:49: expect object name in renaming
>
> Which of the compilers is correct ?
>
> If gnat is correct ( probably gnat!!!),
Good guess!
>the internal package RGB_Value does
> not have any influence,
Also correct.
>how can I have the enumeration values Gray* and
> Grey* of the same type or subtype with the same internal value ?
You can't, but you can come close. An enumeration literal is a function
that returns a value of the enumeration type. For instance, this works:
function Fred return character renames 'A';
So, you CAN define your own functions that rename enumeration literals.
For instance, this program compiles and works with GNAT:
with Text_Io;
procedure Fred is
type Color_Type is (Gray0);
function Grey0 return Color_Type renames Gray0;
begin
Text_Io.Put_Line (Color_Type'Image ( Grey0 ));
-- outputs GRAY0, not GREY0
end fred;
Whether or not this is a good idea I leave to the engineer on the scene.
Sam Mize
> Thank in advance for any suggestion.
>
> package rgbcolor is
> package RGB_Value is
> type Color3 is
> record
> red, green, blue : Float;
> end record;
> Gray0 : constant Color3 := ( 0.000, 0.000, 0.000 );
> Grey0 : Color3 renames Gray0;
> Gray1 : constant Color3 := ( 0.012, 0.012, 0.012 );
> Grey1 : Color3 renames Gray1;
> end RGB_Value;
>
> type Color_Type is ( Gray0, Gray1 );
>
> subtype Grey_Color_Type is Color_Type range Gray0 .. Gray1;
>
> Grey0 : Color_Type renames Gray0; -- line in error---------------
> Grey1 : Color_Type renames Gray1; -- line in error---------------
> end rgbcolor;
-- Samuel Mize (817) 619-8622 "Team Ada"
-- Hughes Training Inc. PO Box 6171 m/s 400, Arlington TX 76005
next prev parent reply other threads:[~1997-05-15 0:00 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-05-15 0:00 ObjectAda vs Gnat -- bugs granger
1997-05-15 0:00 ` Samuel A. Mize [this message]
1997-05-15 0:00 ` Samuel A. Mize
1997-05-15 0:00 ` Stephen Leake
1997-05-16 0:00 ` Tucker Taft
1997-05-16 0:00 ` Jon S Anthony
1997-05-16 0:00 ` Tom Moran
1997-05-16 0:00 ` Robert Dewar
1997-05-17 0:00 ` Jon S Anthony
1997-05-16 0:00 ` Jon S Anthony
1997-05-15 0:00 ` Robert Dewar
1997-05-16 0:00 ` David L Brown
1997-05-16 0:00 ` Robert Dewar
1997-05-17 0:00 ` Tom Moran
1997-05-18 0:00 ` Jon S Anthony
1997-05-19 0:00 ` Tucker Taft
1997-05-19 0:00 ` Tom Moran
1997-05-16 0:00 ` Robert A Duff
1997-05-16 0:00 ` Robert Dewar
-- strict thread matches above, loose matches on Subject: below --
1997-05-16 0:00 Keith Thompson
1997-05-16 0:00 ` Robert A Duff
1997-05-16 0:00 ` Robert Dewar
1997-05-18 0:00 ` Nick Roberts
1997-05-19 0:00 ` Robert Dewar
1997-05-20 0:00 ` Nick Roberts
1997-05-21 0:00 ` Robert Dewar
1997-05-23 0:00 ` Stephen Leake
1997-05-24 0:00 ` Robert A Duff
1997-05-28 0:00 ` Stephen Leake
1997-05-30 0:00 ` Samuel Mize
1997-05-30 0:00 ` Robert A Duff
1997-05-30 0:00 ` Matthew Heaney
1997-05-31 0:00 ` Robert A Duff
1997-05-19 0:00 tmoran
1997-05-19 0:00 ` Jon S Anthony
1997-05-20 0:00 ` Jeff Carter
1997-05-20 0:00 ` Nick Roberts
1997-05-25 0:00 ` Tom Moran
1997-05-30 0:00 John Walker
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox