couldn't we use programming language's `preprocessor`?