emery@MBUNIX.MITRE.ORG (Emery) (12/06/89)
I'd like to propose a moratorium to responding to flames like those from Ted Holden. Everyone is entitled to an opinion, but we don't have to dignify some with responses. Let's get back to real topics. Here's one: Should there be a 'standard' pre-processor for Ada (9X or otherwise)? If so, what should it support? Here's my initial list: #Defined literals the ability to 'import' a literal value from the external environment (i.e. ada -DA_NAME="A string value") gives the pre-processor constant A_NAME the string value "A string value" tests to see if a literal has been defined (#Ifdef) conditional compilation based on simple boolean expressions (#Ifdef, and (A="b") Right now I'm not convinced that macros are very important. Mostly they're used in C (from what I've seen) to get the effect of PRAGMA INLINE. I am a strong believer that if there is to be such a thing, it MUST be standard, so you can maintain the original source code (and NOT the output of the pre-processor). The C pre-processor is an integral part of C; no one would propose maintaining large systems using the post-processed C code. So, let's get back to technical issues. dave emery emery@armies.mitre.org Appropriate Quote:= "Who's the bigger fool, the fool, or the fool who argues with one?"
wasc@cgch.UUCP (Armin Schweizer) (12/08/89)
The conditional compilation was some time a topic in the discussion on
how to build an Ada compiler. But this discussion has stopped. I would
prefer a conditional compilation (omitting code from conditional or
loop statements, which will never be executed e.g. if false then ... end if;)
to the #ifdef implementation with a preprocessor for two
reasons:
1. It would be just a change in the compilers IMPLEMENTATION
2. The settingsof constants used for conditional compilation
can be verified later with the change control system.
kind regards
armin
Armin R. Schweizer, CIBA-GEIGY AG, R1045.P.06, WRZ
4002 Basel / Switzerland
phone: -41-61-697'79'46