comp.lang.ada
 help / color / mirror / Atom feed
From: djs@actnyc.UUCP (Dave Seward)
Subject: Re: Conditional compilation
Date: 27 Jun 88 18:01:35 GMT	[thread overview]
Message-ID: <986@actnyc.UUCP> (raw)
In-Reply-To: 1369@wayback.UUCP

In article <1369@wayback.UUCP> arny@wayback.UUCP (Arny B. Engelson) writes:
>In article <28254@clyde.ATT.COM>, rds@moss.ATT.COM writes:
>> On the issue of conditional compilations in Ada...
>[...]
>This is an (optional) optimization step, not a standardized way of
>providing conditional compilation.  Personally, I think the "pragma"
>solution for conditional compilation works well, and would like to see
>it standardized and provided with all implementations.  Comments?

I don't like the pragma approach as it is very hard to specify it within
the bounds of pragma legality. RM 2.8(8) says "An implementation is not
allowed to define pragmas whose presence or absence infuences the legality
of the text outside such pragmas." This means that conditional compilation
pragmas could not be used to select one of multiple possible declarations,
as, without the pragmas, the program would be seen to have multiple,
conflicting declarations of the same identifier.

Additionally, a significant conditional compilation facility requires a
meta-language of its own for definition and evaluation of conditions upon
which to include text into a compilation or not. This would probably be
force fit into existing Ada rules for declarations and expressions, or
would stick out like a sore thumb.

I am in favor of a distinct facility in the programming environment, like
a preprocessor, for doing file inclusion, conditional compilation, and
the like. Go ahead and standardize it, but don't force it into the Ada
compiler. A compiler should compile the text you feed into it. Defining
that text is a job for other tools.

Dave Seward
uunet!actnyc!djs

  reply	other threads:[~1988-06-27 18:01 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1988-06-13  0:24 Conditional compilation Steinar Haug
1988-06-17 13:53 ` rds
1988-06-22  0:44   ` Jeff Bartlett
1988-06-23 13:01   ` Arny B. Engelson
1988-06-27 18:01     ` Dave Seward [this message]
1988-06-29 13:32   ` brucej
1988-06-17 14:48 ` rjs
  -- strict thread matches above, loose matches on Subject: below --
1989-12-12  0:08 conditional compilation Emery
2000-07-31  0:00 Matthew Woodcraft
2000-07-31  0:00 ` Marin D. Condic
2000-07-31  0:00   ` Ira D. Baxter
2000-08-01  0:00   ` Simon Brady
2000-07-31  0:00     ` Marin D. Condic
2000-08-01  0:00     ` Ted Dennison
2000-08-01  0:00       ` Robert A Duff
2000-08-01  0:00         ` Laurent Guerby
2000-08-02  0:00       ` Simon Brady
2000-08-02  0:00         ` Robert A Duff
2000-08-02  0:00           ` Brian Rogoff
2000-08-03  0:00             ` Robert A Duff
2000-08-02  0:00           ` Georg Bauhaus
2000-08-03  0:00             ` Robert A Duff
2000-08-03  0:00           ` Florian Weimer
2000-08-02  0:00         ` Simon Brady
2000-08-01  0:00           ` William J. Thomas
2000-08-02  0:00         ` Georg Bauhaus
2000-09-19  0:00 Conditional Compilation Kenneth Kueny
2000-09-19  0:00 ` E. Robert Tisdale
2000-09-19  0:00   ` David Starner
2000-09-20  0:52     ` Robert Dewar
2000-09-19  0:00   ` Larry Kilgallen
2000-09-19  0:00     ` Jeff Allen
2000-09-20  0:49       ` Robert Dewar
2000-09-19  0:00         ` Bobby D. Bryant
2000-09-24  0:00           ` Robert Dewar
2000-09-20  0:47   ` Robert Dewar
2000-10-09  0:00   ` John McCabe
2000-09-19  0:00 ` David Starner
2000-09-19  0:00 ` Richard Riehle
2000-09-19  0:00 ` Ted Dennison
2000-09-19  0:00 ` Jeffrey Carter
2000-09-19  0:00   ` Samuel T. Harris
2000-09-20  0:44     ` Robert Dewar
2000-09-20  1:33 ` tmoran
     [not found]   ` <8qauu3$7ei$1@nnrp1.deja.com>
2000-09-24  0:00     ` Robert Dewar
2000-09-25  2:45       ` Ted Dennison
2000-09-25  0:00         ` peter
     [not found] ` <39CA31F2.E160F0D8@res.raytheon.com>
2000-09-24  0:00   ` Robert Dewar
2001-01-02 13:27 ` Andrew Hately
2001-01-02 16:46   ` Robert Dewar
replies disabled

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