comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: chopping Ada source that have preprocessor symbols in them
Date: Fri, 15 Feb 2013 19:10:43 -0600
Date: 2013-02-15T19:10:43-06:00	[thread overview]
Message-ID: <kfmmam$q8p$1@munin.nbi.dk> (raw)
In-Reply-To: 511E64AB.8030805@obry.net

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1715 bytes --]

"Pascal Obry" <pascal@obry.net> wrote in message 
news:511E64AB.8030805@obry.net...
> Le 15/02/2013 12:11, Georg Bauhaus a �crit :
>> What, twist Ada to meet GNAT requirements, or change the procedures
>> in the foreign organization?  :-) :-) :-)
>
> Well AFAIK the actual representation of an Ada source is outside of the
> Ada standard. So nothing to twist there :)

That's not really true anymore for Ada 2012: compilers are required to take 
source files represented in UTF-8 with a direct mapping to the characters 
described in the Standard. And the Standard definitely describes multiple 
units in a file. Of course, exactly the steps needed to support those source 
files isn't described, and it could be long.

I sympathize with Georg's problem, but the point the Stephen made is 
well-taken: if modifying a file containing multiple units causes too much 
recompilation, then you have to split the file into several units. 
Certainly, I do that occassionally for Janus/Ada development -- usually 
things compile fast enough that it doesn't matter -- but if it starts to 
become annoying, I don't blame my tools working as designed, I blame my own 
sub-optimal choice of organization.

(And the use of a preprocessor is always suboptimal. It's much better to 
have that managed as part of version control, by selecting files 
specifically for particular targets -- but I've never seen a version control 
system that does that properly -- they all assume the use of preprocessors. 
For RRS, I built a front-end that adds such structure to the versioning (CVS 
is the back-end), but it's pretty clunky and never was turned into a 
product.)

                                                      Randy.





  reply	other threads:[~2013-02-16  1:10 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-06  0:54 chopping Ada source that have preprocessor symbols in them Georg Bauhaus
2013-02-06  5:29 ` codeallergy
2013-02-06 12:00   ` Georg Bauhaus
2013-02-08 12:22 ` Stephen Leake
2013-02-08 13:19   ` Georg Bauhaus
2013-02-09  2:51     ` Stephen Leake
2013-02-09 17:59       ` Georg Bauhaus
2013-02-09 20:15         ` Simon Wright
2013-02-11 23:13           ` Georg Bauhaus
2013-02-12 16:04             ` Björn Persson
2013-02-12 19:18               ` Georg Bauhaus
2013-02-15 10:40         ` Stephen Leake
2013-02-15 11:11           ` Georg Bauhaus
2013-02-15 16:39             ` Pascal Obry
2013-02-16  1:10               ` Randy Brukardt [this message]
2013-02-17  8:46                 ` Jacob Sparre Andersen
2013-02-18 23:18                   ` Randy Brukardt
2013-02-19 10:05                     ` Version control and multiple implementation variants (Was: chopping Ada source that have preprocessor symbols in them) Jacob Sparre Andersen
2013-02-19 11:41                       ` Thomas Løcke
2013-02-19 16:42                       ` chopping Ada source that have preprocessor symbols in them Pascal Obry
2013-02-19 21:07                       ` Version control and multiple implementation variants (Was: chopping Ada source that have preprocessor symbols in them) Randy Brukardt
2013-02-19 23:20                         ` Georg Bauhaus
2013-02-16  8:22             ` chopping Ada source that have preprocessor symbols in them Stephen Leake
2013-02-16 15:12               ` Georg Bauhaus
2013-02-17 11:51                 ` Stephen Leake
2013-02-18 12:51               ` Björn Persson
2013-02-08 20:27 ` Florian Weimer
2013-02-08 21:09   ` Georg Bauhaus
2013-02-10  9:01 ` Björn Persson
replies disabled

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