4 ms·
C preprocessor internals
- jacobparker 13y agoTurns out the preprocessor is actually an organically grown pseudo language (as opposed to a properly designed language feature) inside C, which later got standardized through an incredibly complex set of rules and definitions. This can be used to explain much of C. :)
- tensaix2j 13y agoThis reminds me of one of the assignments in cppgm.org, where you get to implement all those features. http://www.cppgm.org/pa4.html http://www.cppgm.org/pa4.html
- octo_t 13y agoi like how one of the assignments is "read the C++ spec" o_O
- ot 13y agoAn impressive application of the C preprocessor is the Boost.Preprocessor library [1]. It basically implements a primitive (and bounded) version of Lisp inside the preprocessor. I used it once to write DSLs to define data structures, where a few lines of code were expanded to hundreds of lines of templates, (de)serialization code, etc... [1] http://www.boostpro.com/mplbook/preprocessor.html http://www.boostpro.com/mplbook/preprocessor.html