From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,38159b1b5557a2e7 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-27 14:27:15 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!news-hog.berkeley.edu!ucberkeley!cyclone.bc.net!news.uunet.ca!nf3.bellglobal.com!nf1.bellglobal.com!nf2.bellglobal.com!news20.bellglobal.com.POSTED!not-for-mail From: "Warren W. Gay VE3WWG" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Standard Ada Preprocessor (Was: why ada is so unpopular ?) References: <49cbf610.0401170627.79c3dfe5@posting.google.com> <400A9B48.3060100@noplace.com> <400BD4B5.6000307@noplace.com> <400BDB7C.40100@noplace.com> <400D2150.6000705@noplace.com> <400E72F9.8060501@noplace.com> <100upo7ln5e3k59@corp.supernews.com> <400FC8E8.2040100@noplace.com> <_JSdna166JuxFo3dRVn-hg@comcast.com> <10138603kq87jb4@corp.supernews.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Tue, 27 Jan 2004 17:13:02 -0500 NNTP-Posting-Host: 198.96.223.163 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1075241529 198.96.223.163 (Tue, 27 Jan 2004 17:12:09 EST) NNTP-Posting-Date: Tue, 27 Jan 2004 17:12:09 EST Organization: Bell Sympatico Xref: archiver1.google.com comp.lang.ada:4950 Date: 2004-01-27T17:13:02-05:00 List-Id: Robert I. Eachus wrote: > Warren W. Gay VE3WWG wrote: ... >> Can we agree on having a choice at least? > > Sure, you have that choice. There are several good pre-processors for > Ada. Go, get one, use it. I've been using one for quite some time. But remember, the request was for a *standard* one. ;-) > Pretty soon you will join Randy and I on the > other side of the fence. Until systems start all looking the same (not likely), and userland APIs (shared libraries) all start being consistent (there will always be different versions), I'll always have to be adapting Ada code to these messy differences. Until the day comes when I don't need to write bindings to C and C++ code, I'll always be using gnatprep, as I have from the beginning. Until I get Ada bindings for all the C stuff out there, I will always be in need for "conditional compilation". Read my lips ;-) > Don't get me wrong, the GNAT pre-processor > facilities are great, much better than cpp. But when you really try to > use it you end up in self protection migrating as much pre-processor > stuff as possible into one unit. Then once you start planning out the > code you want for some change to that unit, then figuring out where to > stick it in the middle of all the preprocessor directives, you will > agree that multiple bodies are easier to maintain. ;-) > > (Incidently, there is an intermediate position you go through, and which > works nicely for some units. The bodies of subprograms in the unit > each turns into a case statement on the processor or compiler. But when > I reach that point, I use Ada instead of the pre-processor for the case > statements.) I am _not_ saying that gnatprep _is_ the solution. But some carefully designed conditional compilation needs to be considered. It should be available and optional. That is all. -- Warren W. Gay VE3WWG http://ve3wwg.tk