The C preprocessor is practically turing complete, in the same sense that C it self or your computer is practially turing complete, but not strictly.