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 20:15:36 -0400
Date: 2010-03-16T20:15:36-04:00	[thread overview]
Message-ID: <wccr5nj247r.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: hnp4r7$eqo$1@munin.nbi.dk

"Randy Brukardt" <randy@rrsoftware.com> writes:

> GROAAANNN!!!  :-)

;-)

> I'd like to see a solution to this problem, but I don't think this is it. 
> The problem is that the compiler wouldn't know what components to generate, 
> so it would effectively have to generate a giant case statement:
>
> X := (Token => T, others => <>) would become:
>
> case T is
>    when LEX_ID => X := (Token => LEX_ID, String_Id => <>);
>    when '!' => X := (Token => '!');
>    ...
> end case;

Well, this is not hugely different from the case statement that the
compiler has to generate for:

    X : Token_Unit (Token => T);

to default-initialize stuff.

But I agree it's not worth the trouble.

By the way, why do we call the kind/type of token "Token",
and the whole token is "Token_Unit" or some such?  I realize that's
what the compiler textbooks often do, but I'd prefer the enumeration
be called Token_Kind, and the record (containing the kind as well as
the identifier string or whatever) be called something else, like Token.

- Bob



  parent reply	other threads:[~2010-03-17  0:15 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
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 [this message]
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