Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!yetti!geac!daveb From: daveb@geac.UUCP Newsgroups: comp.lang.c Subject: Re: ANS C Macro Processing Message-ID: <1687@geac.UUCP> Date: Mon, 26-Oct-87 09:41:02 EST Article-I.D.: geac.1687 Posted: Mon Oct 26 09:41:02 1987 Date-Received: Tue, 27-Oct-87 06:57:55 EST References: <167@sdti.UUCP> <11323@orchid.waterloo.edu> Reply-To: daveb@geac.UUCP (Dave Collier-Brown) Organization: The little blue rock next to that twinkly star. Lines: 25 Keywords: cpp Summary: Intentions! In article <11323@orchid.waterloo.edu> datanguay@watbun.waterloo.edu (David Tanguay) writes: >In article <167@sdti.UUCP> turner%sdti@harvard.harvard.edu (Prescott K. Turner, Jr.) writes: >}in the context of #define z +y >} #define y(b) z >} #define f(a) f(a(3)) I suspect the reason the ANSI committee came out with the "rescanning turned off" was history: The C pre-processor was and is an improper subset of m4, the Unix[tm] general-purpose preprocessor. CPP was small and simple, had a processing cost comparable to "cat" and didn't try to do everything. M4 was more expensive and did more, and one used it when one needed more, especially a quoting mechanism to control rescanning. If the semantics of the current cpp can be achieved without rescanning of X within expansion of X, then they may well be trying for simplicity and compatibility... -- David Collier-Brown. {mnetor|yetti|utgpu}!geac!daveb Geac Computers International Inc., | Computer Science loses its 350 Steelcase Road,Markham, Ontario, | memory (if not its mind) CANADA, L3R 1B3 (416) 475-0525 x3279 | every 6 months.