https://en.wikipedia.org/wiki/C_preprocessor