comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Dynamic Variant Record Creation
Date: Tue, 16 Mar 2010 17:58:45 -0400
Date: 2010-03-16T17:58:45-04:00	[thread overview]
Message-ID: <wcceijk0vze.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: Xns9D3DACEA49216WarrensBlatherings@188.40.43.213

Warren <ve3wwg@gmail.com> writes:

> except that the discriminant also be described somehow
> as 3-bits.

I'm not sure what you mean.  If you're saying "I don't know
how to specify the layout for discriminants", then the answer
is "same as other components" -- you just put the usual
"Discrim at ... range 0..2" or whatever.  If you're saying
"It won't fit in 3 bits because it has more than 2**3 values,
then you're out of luck.

>> You said you wanted efficiency.  Well, this:
>> 
>>             T : Token_Type := Token_Type'Val(Character'Pos(Ch));
>> 
>> is unlikely to be efficient.  The case statement will be better
>> in that regard.
>
> If true, I'd like to know why. I can't see that in the compiled
> code being much other than a move short.  If I get time tonight,
> I'll investigate it.

Ah, I see I misread your code.  I thought you were using
'Image and 'Value.  Sorry.

So you're right -- the above 'Pos and 'Val should be efficient.
But I don't think it does what you want!  The 'Pos of the
Character '!' is not the same as the 'Pos of the Token '!'.

- Bob



  parent reply	other threads:[~2010-03-16 21:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-16 17:11 Dynamic Variant Record Creation Warren
2010-03-16 18:31 ` Georg Bauhaus
2010-03-16 18:57 ` Adam Beneschan
2010-03-16 20:01   ` Warren
2010-03-16 20:09     ` Jeffrey R. Carter
2010-03-16 20:24       ` Warren
2010-03-16 20:40         ` Robert A Duff
2010-03-16 20:44           ` Warren
2010-03-16 20:31     ` Robert A Duff
2010-03-16 20:59       ` Warren
2010-03-16 21:55         ` Jeffrey R. Carter
2010-03-17 14:40           ` Warren
2010-03-18 12:57           ` Warren
2010-03-16 21:58         ` Robert A Duff [this message]
2010-03-17 14:22           ` Charmed Snark
2010-03-17 14:49             ` Robert A Duff
2010-03-17 16:30               ` Warren
2010-03-16 21:15       ` Adam Beneschan
2010-03-16 23:24       ` Adam Beneschan
2010-03-16 20:15   ` Robert A Duff
2010-03-16 21:00     ` Warren
2010-03-16 23:39   ` Randy Brukardt
2010-03-16 23:43     ` Randy Brukardt
2010-03-17  0:15     ` Robert A Duff
2010-03-17 14:28       ` Warren
2010-03-18  0:02       ` Randy Brukardt
2010-03-17  4:20     ` Adam Beneschan
2010-03-18  0:13       ` Randy Brukardt
2010-03-18 13:00         ` Warren
replies disabled

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