From -4144893731715273260 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f78e5,765aa557d15ef5ba X-Google-Attributes: gidf78e5,public X-Google-ArrivalTime: 2003-04-21 10:31:24 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!kibo.news.demon.net!mutlu.news.demon.net!demon!mail2news.demon.co.uk!devnull From: google@vandevoorde.com (Daveed Vandevoorde) Newsgroups: comp.std.c++ Subject: Re: Preprocessor evolution Date: Mon, 21 Apr 2003 17:31:23 +0000 (UTC) Organization: http://groups.google.com/ Lines: 48 Approved: fjh@cs.mu.oz.au (Fergus Henderson , moderator of comp.std.c++) Message-ID: <52f2f9cd.0304210819.7dcbc6bb@posting.google.com> References: <652361f.0304032218.6b7a67e4@posting.google.com> <3e8f6897.709822312@News.CIS.DFN.DE> <3e920e1f.883270640@News.CIS.DFN.DE> <3E94D1A2.5070406@ilog.com.sg> <3e9f0d33@andromeda.datanet.hu> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: mail2news.demon.co.uk 1050946283 22768 10.0.0.1 (21 Apr 2003 17:31:23 GMT) X-Complaints-To: abuse@demon.net NNTP-Posting-Date: Mon, 21 Apr 2003 17:31:23 +0000 (UTC) X-Received: from mulga.cs.mu.oz.au ([128.250.1.22]) by news.demon.co.uk with esmtp (Exim 4.12) id 197f8U-0005v5-00 for mail2news@news.news.demon.net; Mon, 21 Apr 2003 17:31:22 +0000 X-Received: by mulga.cs.mu.OZ.AU id DAA21069; Tue, 22 Apr 2003 03:31:16 +1000 (EST) X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f X-Path: comp-std-cpp-robomod!not-for-mail X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov) X-Delivered-To: std-c++@ucar.edu X-Newsgroups: comp.std.c++ X-NNTP-Posting-Date: 21 Apr 2003 16:19:45 GMT X-Spamscanner: mailbox2.ucsd.edu (v1.2 Mar 17 2003 15:04:36, -0.7/5.0 2.43) X-MailScanner: PASSED (v1.2.7 96857 h3LGJtJU006589 mailbox2.ucsd.edu) X-Spam-Status: No, hits=-9.1 required=5.0 tests=NOSPAM_INC,QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_01_02 version=2.41 Xref: archiver1.google.com comp.std.c++:18864 comp.std.c++_2003-04-20@nmhq.net (Niklas Matthies) wrote: [...] > Hmm... Does that mean that for every exported macro, the preprocessor > remembers its "closure", and expands the macro within that closure? No. We're looking for a mechanism that will not severely affect currently conforming preprocessor implementations. > Like in: > > #< > #define X 5 > #define FIVE X > #export FIVE > #> > > #< > #define X 6 > #define SIX X > #export SIX > #> > > #define X 7 > > int five = FIVE; // initialized to 5 > int six = SIX; // initialized to 6 Both would be initialized to 7. Without the "#define X 7" both would be initialized to 6. I should also note that the syntax discussed here is unlikely to be the final one. In particular, "#import" is already in use as an extension on some platforms. The current working directives letting definitions in and out, are "#in" and "#out." The syntactical choice for block delimiters is broader still. Daveed --- [ comp.std.c++ is moderated. To submit articles, try just posting with ] [ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ] [ --- Please see the FAQ before posting. --- ] [ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]