[comp.lang.ada] Flame moratorium and topic for serious discussion

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