[net.lang.c] Interface of cpp with compiler

sam@delftcc.UUCP (Sam Kendall) (06/12/86)

SVR2 documents /lib/cpp's existence, but the documentation does not
guarantee (for the future) that the output will be legal C; indeed, it
already is not, unless /lib/cpp gets the -P option.  So the
documentation basically says, "/lib/cpp exists, here is its input
format, but we won't guarantee anything about its output format except
that another module of our C compiler will accept it." This is a useless
thing to say.  Why document /lib/cpp at all if you're not going to
guarantee anything about its output?  In System V cpp's manual page is
just a convenient place to put the preprocessor options to "cc".

In article <4022@sun.uucp>, guy@sun.UUCP writes:
> Furthermore, I'm not convinced that "any C compiler with an integral cpp
> will have a function 'inchar'...".  Somebody may design a C compiler which
> *isn't* quite so modular.

In particular, it would make a lot of sense for a preprocessor (module)
to pass tokens instead of characters to a parser (module).  So there
might be a function 'intoken'.  To expand the tokens back into
characters is trivial, of course, so such a compiler could still support
the -P and -E options.

----
Sam Kendall			{ ihnp4 | seismo!cmcl2 }!delftcc!sam
Delft Consulting Corp.		ARPA: delftcc!sam@NYU.ARPA