Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Jens Schweikhardt <usenet@schweikhardt.net> |
|---|---|
| Newsgroups | comp.std.c++ |
| Subject | Re: A preprocessor feature we should have had 40 years ago |
| Followup-To | comp.std.c |
| Date | 2013-06-09 02:21 -0700 |
| Organization | unknown |
| Message-ID | <b1hhhiFi8ohU1@mid.individual.net> (permalink) |
| References | <UrKdnTRjb8pONQDMnZ2dnUVZ_oudnZ2d@earthlink.com> |
Followups directed to: comp.std.c
In comp.std.c Paul D. DeRocco <pderocco@ix.netcom.com> wrote:
#
# This is going to the C and C++ lists because it is equally applicable to
# both.
#
# I've occasionally needed to use the preprocessor to repeat a piece of
# code some variable number of times. What would be so hard about
# implementing this?
#
# #repeat <identifier> <const-expression>
# ...
# #endrepeat
#
# The expression would be evaluated, and the contents of the block would
# be repeated that number of times, with the preprocessor identifier
# taking values 0 through n-1. Even with a fixed count, this can be useful:
#
# const int squares[] = {
# #repeat I 101
# I * I,
# #endrepeat
# };
Because almost *any* language other than the preprocessor langue you
have in mind is already *better* suited for this task. For the above, in
vi I type
:r!perl -e 'foreach(0..100){print "$_ * $_,\n"}'
with the result portable to before 1970. Using awk makes this even POSIX,
since both vi and awk are standardized. If you're a purist, you could even
write, compile and run a short C program.
# Less trivial usages would of course involve counts that are themselves
# preprocessor symbols or expressions. The only way to do this now is to
# nest a lot of #if statements, up to some maximum size one might need,
# and explicitly write the contents of each iteration.
Maybe I'm the exception, but I never felt the need for such complicated
repetitions where the limits involve preprocessor symbols. How many
can you come up with that would convince a committee to invest time?
Do a survey on how much open source C code would benefit from it
by reducing code size significantly. I doubt you get very far.
"Followup-To:" trimmed to comp.std.c.
Regards,
Jens
--
Jens Schweikhardt http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Back to comp.std.c++ | Previous | Next — Previous in thread | Find similar
A preprocessor feature we should have had 40 years ago "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-05-23 19:18 -0600
Re: A preprocessor feature we should have had 40 years ago Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-05-24 15:19 -0700
Re: A preprocessor feature we should have had 40 years ago jacob navia <jacob@spamsink.net> - 2013-05-25 02:23 -0700
Re: A preprocessor feature we should have had 40 years ago Keith Thompson <kst-u@mib.org> - 2013-05-25 02:24 -0700
Re: A preprocessor feature we should have had 40 years ago "Kenneth \"Bessarion\" Boyd" <zaimoni@zaimoni.com> - 2013-05-25 23:43 -0700
Re: A preprocessor feature we should have had 40 years ago "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-05-25 23:44 -0700
Re: A preprocessor feature we should have had 40 years ago Francis Glassborow <francis.glassborow@btinternet.com> - 2013-05-26 08:52 -0600
Re: A preprocessor feature we should have had 40 years ago Rui Maciel <rui.maciel@googlemail.com> - 2013-05-25 23:43 -0700
Re: A preprocessor feature we should have had 40 years ago Peter <pcurran88@googlemail.com> - 2013-05-30 19:40 -0600
Re: A preprocessor feature we should have had 40 years ago "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-06-01 02:04 -0600
Re: A preprocessor feature we should have had 40 years ago ootiib@hot.ee - 2013-06-01 14:53 -0600
Re: A preprocessor feature we should have had 40 years ago James Kuyper <jameskuyper@verizon.net> - 2013-06-04 10:41 -0600
Re: A preprocessor feature we should have had 40 years ago espie@lain.home (Marc Espie) - 2013-06-05 23:12 -0700
Re: A preprocessor feature we should have had 40 years ago James Kuyper <jameskuyper@verizon.net> - 2013-06-06 09:20 -0700
Re: A preprocessor feature we should have had 40 years ago Jens Schweikhardt <usenet@schweikhardt.net> - 2013-06-09 02:21 -0700
csiph-web