define kinda stuff
Stein-Erik Engbr}ten
see at NTA-VAX.ARPA
Mon Apr 14 20:29:51 AEST 1986
David Eppstein (eppstein at cs.columbia.edu, seismo!columbia!cs!eppstein)
writes (11 Apr 86 21:12:26 GMT)
The problem is to define '(-:' as '/*' (start of comment), and :-) '*/'.
> Obviously the right way to do this is the following:
>
> #define cat(a,b) a/**/b
> #define (-: cat(/,*)
> #define :-) cat(*,/)
The preprocessor doesn't allow '(-:' as a definition-name
(Berkeley 4.2/4.3).
However, the program below doesn't do what it is supposed to either.
When the preprocessor has finished, you just get 'main() {'.
-->#define cat(a,b) a/**/b
-->#define start_comm cat(/,*)
-->#define end_comm cat(*,/)
-->
-->main()
-->{
--> start_comm This is a comment end_comm
--> cat(pri,ntf)("This is a nice one...\n");
--> printf("Hello...\n");
-->}
When in a comment, no expansion is done!
How do we then define something which is to end a comment? I would say
it is impossible, but is eager to hear of anybody who thinks otherwise.
Stein-Erik Engbr}ten
More information about the Comp.lang.c
mailing list