comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: What is your opinion on Global Objects?
Date: Fri, 21 Nov 2014 09:25:18 -0600
Date: 2014-11-21T09:25:18-06:00	[thread overview]
Message-ID: <85lhn4shi9.fsf@stephe-leake.org> (raw)
In-Reply-To: 65f2470c-0828-4f97-9f0e-f11966896c06@googlegroups.com

Adam Beneschan <adambeneschan@gmail.com> writes:

> On Thursday, November 20, 2014 8:34:31 AM UTC-8, Stephen Leake wrote:
>> 
>> > That basically is a vote for global objects. Whether they are accessed
>> > through a global variable or some sort of getter function that returns
>> > access, it means bypassing the parameters. Well from what I read here,
>> > there are no strong opinions for either concept. Strange, I wasn't
>> > able to find good arguments for or against the two concepts anywhere,
>> 
>> If you can really, truly, absolutely guarrantee that you will _never_
>> need two different copies of the data structure, then the singleton
>> pattern makes sense (data in a single variable in a package body).
>> 
>> If you ever need two different copies of the data structure, then you
>> need to pass it around in parameters.
>> 
>> The symbol table for a compiler is a good candidate for a singleton.
>
> This doesn't seem right to me.  
>
> I haven't followed the whole discussion closely, so I might have
> missed something... But in the case of a symbol table, an Ada compiler
> that implements generics by "macro instantiation" is an example of why
> a symbol table should *not* be a singleton. If the compiler rescans
> the text of the generic, the entire context (i.e. what symbols are
> visible) 

That's not the _entire_ symbol table, just one subtree.

I've never implemented a compiler, but I have implemented an
interpreter; it has a singleton symbol table.

I imagine "context" is a pointer into the symbol table, showing what is
visible at the current code position.

It certainly depends on how the compiler uses the symbol table.

-- 
-- Stephe


  reply	other threads:[~2014-11-21 15:25 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-18  1:36 What is your opinion on Global Objects? Hubert
2014-11-18  2:52 ` Jeffrey Carter
2014-11-18  3:08   ` Hubert
2014-11-18  3:16     ` Shark8
2014-11-18  5:09     ` Jeffrey Carter
2014-11-18 11:23     ` Brian Drummond
2014-11-19  2:50       ` Hubert
2014-11-19  3:03         ` Jeffrey Carter
2014-11-19  9:13           ` Hubert
2014-11-19 10:22             ` J-P. Rosen
2014-11-19 17:37             ` Jeffrey Carter
2014-11-20 16:34         ` Stephen Leake
2014-11-20 21:11           ` Adam Beneschan
2014-11-21 15:25             ` Stephen Leake [this message]
2014-11-21 21:53             ` Randy Brukardt
2014-11-21  1:25           ` Hubert
2014-11-21  3:00           ` Brad Moore
2014-11-19 10:11   ` Jacob Sparre Andersen
2014-11-20  6:21     ` Hubert
2014-11-18  8:54 ` Dmitry A. Kazakov
2014-11-20 20:33 ` sbelmont700
2014-11-20 21:35   ` J-P. Rosen
2014-11-21  1:02     ` sbelmont700
2014-11-21  1:31       ` Hubert
2014-11-21  9:01     ` Dmitry A. Kazakov
2014-11-22  7:46       ` J-P. Rosen
2014-11-22  9:02         ` Dmitry A. Kazakov
replies disabled

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