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=-0.2 required=5.0 tests=BAYES_00,INVALID_DATE,URG_BIZ autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!inmet!stt From: stt@inmet.inmet.com Newsgroups: comp.lang.ada Subject: Re: 9X and the NEED for preprocessing Message-ID: <20600027@inmet> Date: 18 Dec 89 19:09:00 GMT References: <629648260@<1825> Nf-ID: #R:<1825:629648260:inmet:20600027:000:1769 Nf-From: inmet.inmet.com!stt Dec 18 14:09:00 1989 List-Id: With regard to Ada preprocessors, and Ada9X: First of all, preprocessors create no optimization problem, since they operate at the lexical, or possibly syntactic, level, long before the optimizer takes a look at the program. However, I am not a great fan of Ada preprocessors. We have implemented a compiler system and development tools for 6 targets and 7 hosts without using a preprocessor. Our general strategy is to define one or more target/host-independent package specs with target/host-dependent bodies. We minimize the size of such packages, and simply reimplement them for each distinct target/host. Sometimes, the package spec is target/host-dependent as well, but only in its definitions, not in the names defined (e.g., one host might define the type "Link_Name" as being an 8 character string, another might define it as being a 30 character string). The net effect of this approach is that a particular configuration is determined by a set of source files, not a set of preprocessor switches. Also, for cases where we do restrict differences to bodies, we can select a different configuration at link time by choosing a distinct "implementation catalog variant" (in Intermetrics AIE-speak), requiring no recompilation. Anyway, so much for truth and beauty. If there is a compelling argument for a standardized preprocessor, I am sure that the Ada9X process will be willing to consider it, even though the "official" public revision request period is over. The Ada9X process is going to include a number of public reviews, and the various project teams working on Ada9X will continue to keep their ears open for brilliant and/or urgent proposals. S. Tucker Taft (Ada9X DR -- aka "distinguished" reviewer) Intermetrics, Inc. Cambridge, MA 02138