Согласен с тем, что в языке не надо делать изменений для препроцессора. Препроцессор - это отдельная утилита, которая будет обрабатывать файлы перед компиляцией. Потребность в препроцессоре возникла в связи с тем, что для того, чтобы написать какое-нибудь приложение под Windows, необходимо использовать WinApi функции, структуры, константы, которые определены в h файлах, но там очень часто используются директивы препроцессора. Делать различные версии файлов для различных вариантов переменных практически не возможно, так как таких вариантов очень много, поэтому необходим аналогичный инструмент. В принципе можно скопировать препроцессор один в один, можно сделать его проще, а можно сделать что-нибудь новое, что будет позволять делать то же самое, но можно будет использовать и для чего-нибудь другого.